PKGBUILDs/extra/thunderbird/PKGBUILD
2024-11-15 01:49:33 +00:00

365 lines
18 KiB
Bash

# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Anders Bostrom <anders.bostrom@home.se>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - mozconfig changes for ARM
# - disable rust lto for v7
highmem=1
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=128.4.3
pkgrel=1
pkgdesc='Standalone mail and news reader from mozilla.org'
url='https://www.thunderbird.net/'
arch=(x86_64)
license=('MPL-2.0' 'GPL-2.0-only' 'LGPL-2.1-only')
depends=(
glibc
gtk3 libgdk-3.so libgtk-3.so
mime-types
dbus libdbus-1.so
dbus-glib
alsa-lib
nss
hunspell
sqlite
ttf-font
libvpx libvpx.so
zlib
bzip2 libbz2.so
botan2
libwebp libwebp.so libwebpdemux.so
libevent
libjpeg-turbo
libffi libffi.so
nspr
gcc-libs
libx11
libxrender
libxfixes
libxext
libxcomposite
libxdamage
pango libpango-1.0.so
cairo
gdk-pixbuf2
freetype2 libfreetype.so
fontconfig libfontconfig.so
glib2 libglib-2.0.so
pixman libpixman-1.so
gnupg
json-c
libcanberra
ffmpeg
icu libicui18n.so libicuuc.so
)
makedepends=(
unzip zip diffutils python nasm mesa libpulse libice libsm
rust clang llvm cbindgen nodejs-lts-iron lld
gawk perl findutils libotr
)
options=(!emptydirs !makeflags !lto)
source=(https://archive.mozilla.org/pub/thunderbird/releases/${pkgver}esr/source/thunderbird-${pkgver}esr.source.tar.xz{,.asc}
vendor-prefs.js
distribution.ini
mozconfig.cfg
metainfo.patch
org.mozilla.Thunderbird.desktop
thunderbird-system-icu-74.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
)
validpgpkeys=(
14F26682D0916CDD81E37B6D61B7B526D98F0353 # Mozilla Software Releases <release@mozilla.com>
4360FE2109C49763186F8E21EBE41E90F6F12F6D # Mozilla Software Releases <release@mozilla.com>
)
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
# Mozilla API keys (see https://location.services.mozilla.com/api)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact heftig@archlinux.org for
# more information.
_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
prepare() {
cd $pkgname-$pkgver
echo "${noextract[@]}"
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
sed -e 's|73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|a88d6cc10ec1322b53a8f4c782b5133135ace0fdfcf03d1624b768788e17be0f|' \
-i third_party/rust/mp4parse/.cargo-checksum.json
sed -e 's|880c982df0843cbdff38b9f9c3829a2d863a224e4de2260c41c3ac69e9148ad4|239b3e4d20498f69ed5f94481ed932340bd58cb485b26c35b09517f249d20d11|' \
-i third_party/rust/bindgen/.cargo-checksum.json
# Make icon transparent
sed -i '/^<rect/d' comm/mail/branding/thunderbird/TB-symbolic.svg
printf "%s" "$_google_api_key" >google-api-key
printf "%s" "$_mozilla_api_key" >mozilla-api-key
cp ../mozconfig.cfg .mozconfig
sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig
if [[ $CARCH == "armv7h" ]]; then
echo "ac_add_options --disable-elf-hack" >> .mozconfig
MAKEFLAGS="-j4"
# disable hard-coded LTO
sed -i '/cargo_rustc_flags += -Clto/d' config/makefiles/rust.mk
sed -i '/RUSTFLAGS += -Cembed-bitcode=yes/d' config/makefiles/rust.mk
# increase codegen-units due to RAM constraints
sed -i 's/codegen-units=1/codegen-units=16/' config/makefiles/rust.mk
fi
echo 'ac_add_options --enable-optimize="-g0 -O2"' >> .mozconfig
echo "mk_add_options MOZ_MAKE_FLAGS=\"${MAKEFLAGS}\"" >> .mozconfig
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
#export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
export LDFLAGS+=" -Wl,--no-keep-memory"
export RUSTFLAGS="-Cdebuginfo=0"
CFLAGS=${CFLAGS/-fstack-clash-protection}
CXXFLAGS=${CXXFLAGS/-fstack-clash-protection}
}
build() {
cd $pkgname-$pkgver
if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then
export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S")
fi
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none
export MOZBUILD_STATE_PATH="${srcdir}/mozbuild"
# malloc_usable_size is used in various parts of the codebase
CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
CFLAGS="${CFLAGS/-fexceptions/}"
CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
CXXFLAGS="${CXXFLAGS/-fexceptions/}"
./mach configure
./mach build
./mach buildsymbols
}
package_thunderbird() {
optdepends=(
'hunspell-en_us: Spell checking, American English'
'libotr: OTR support for active one-to-one chats'
'libnotify: Notification integration'
)
cd $pkgname-$pkgver
DESTDIR="$pkgdir" ./mach install
install -Dm 644 ../vendor-prefs.js -t "$pkgdir/usr/lib/$pkgname/defaults/pref"
install -Dm 644 ../distribution.ini -t "$pkgdir/usr/lib/$pkgname/distribution"
install -Dm 644 ../org.mozilla.Thunderbird.desktop -t "$pkgdir/usr/share/applications"
install -Dm 644 comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml \
"$pkgdir/usr/share/metainfo/net.thunderbird.Thunderbird.appdata.xml"
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 comm/mail/branding/thunderbird/default${i}.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/org.mozilla.Thunderbird.png"
done
install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
# Use system-provided dictionaries
ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
# Install a wrapper to avoid confusion about binary path
install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
#!/bin/sh
exec /usr/lib/$pkgname/thunderbird "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -srf "$pkgdir/usr/bin/$pkgname" \
"$pkgdir/usr/lib/$pkgname/thunderbird-bin"
}
_package_i18n() {
pkgdesc="$2 language pack for Thunderbird"
depends=("thunderbird>=$pkgver")
install -Dm644 thunderbird-i18n-$pkgver-$1.xpi \
"$pkgdir/usr/lib/thunderbird/extensions/langpack-$1@thunderbird.mozilla.org.xpi"
}
_languages=(
'af "Afrikaans"'
'ar "Arabic"'
'ast "Asturian"'
'be "Belarusian"'
'bg "Bulgarian"'
'br "Breton"'
'ca "Catalan"'
'cak "Kaqchikel"'
'cs "Czech"'
'cy "Welsh"'
'da "Danish"'
'de "German"'
'dsb "Lower Sorbian"'
'el "Greek"'
'en-GB "English (British)"'
'en-US "English (US)"'
'es-AR "Spanish (Argentina)"'
'es-ES "Spanish (Spain)"'
'et "Estonian"'
'eu "Basque"'
'fi "Finnish"'
'fr "French"'
'fy-NL "Frisian"'
'ga-IE "Irish"'
'gd "Gaelic (Scotland)"'
'gl "Galician"'
'he "Hebrew"'
'hr "Croatian"'
'hsb "Upper Sorbian"'
'hu "Hungarian"'
'hy-AM "Armenian"'
'id "Indonesian"'
'is "Icelandic"'
'it "Italian"'
'ja "Japanese"'
'ka "Georgian"'
'kab "Kabyle"'
'kk "Kazakh"'
'ko "Korean"'
'lt "Lithuanian"'
'ms "Malay"'
'nb-NO "Norwegian (Bokmål)"'
'nl "Dutch"'
'nn-NO "Norwegian (Nynorsk)"'
'pa-IN "Punjabi (India)"'
'pl "Polish"'
'pt-BR "Portuguese (Brazilian)"'
'pt-PT "Portuguese (Portugal)"'
'rm "Romansh"'
'ro "Romanian"'
'ru "Russian"'
'sk "Slovak"'
'sl "Slovenian"'
'sq "Albanian"'
'sr "Serbian"'
'sv-SE "Swedish"'
'th "Thai"'
'tr "Turkish"'
'uk "Ukrainian"'
'uz "Uzbek"'
'vi "Vietnamese"'
'zh-CN "Chinese (Simplified)"'
'zh-TW "Chinese (Traditional)"'
)
_url=https://archive.mozilla.org/pub/thunderbird/releases/${pkgver}esr/linux-x86_64/xpi
for _lang in "${_languages[@]}"; do
_locale=${_lang%% *}
_pkgname=thunderbird-i18n-${_locale,,}
pkgname+=($_pkgname)
source+=("thunderbird-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
eval "package_$_pkgname() {
_package_i18n $_lang
}"
done
# Don't extract languages
noextract=()
for _src in "${source[@]%%::*}"; do
case "$_src" in
*.xpi) noextract+=("$_src") ;;
esac
done
sha512sums=('18691722f6376f3dc0658c01164fcdbf6008fc31eff8c1bd403d34f188db0e7850883315a96fc07289d207c9977d732628d3945736aa191fefd0a01735e3037d'
'SKIP'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'fffeb73e2055408c5598439b0214b3cb3bb4e53dac3090b880a55f64afcbc56ba5d32d1187829a08ef06d592513d158ced1fde2f20e2f01e967b5fbd3b2fafd4'
'9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
'8c8a38f5e22c7d8506541f4db5e693b667981b36a408b34c269d72e7cec4fe470cafc079f8fbae12149df1dcda88fe749677b503c6f867369702c7aaa4717b12'
'7bfac09de2c2ab3820b75de4bb0b7182845bfa7dd99e2a517329e0fcf3fd32a8ad7963c290d62a4109cb035e05df9fcc1976b905942bd9d85f01925e85c5ebf0'
'9d24fe7d53fbedc5303940298e4d6bed4d81d3ef83c015a0dc9b8c575160e7baa2b74d59e94b5131457b63ea580aab551702c6a5bd0fe3d5e471af4a88575592'
'a365bc8a76c04bac0ed02a2de2c844ba88122a1da7d1c1c90590dbac89d063e74e7046da7ab34b76f3e8bb7139ca7f6398daa438fdf6499e8a72d07eeb27b5d8'
'2133c02fa2d4fa912862227fecb94762dd98aef7ff532167510522cae85afa51df8ddb19e80830270845774423a0ef0253036f242d946ccfb862d366ebbfd887'
'9647a6d20ddeed2ba495a1d3f153fd55f00066e03e86dfa95125fce9b164056735a2aaa3af28085d25ae99af72b82f18050508f499749f589306bfe30639c26a'
'653d5dc1a30916d4ff9c0377c947b8a4d1b1375ebfc59af41a9662512389dc7978cd3523e8a21ee4d84a699ea16da1aadd405e44b748371a6eca6753ee0b1fcd'
'9ddf09b28187ac6d7dc1267e98a5fde988dfbe4c79ddf07e9b6b93aee54f20f427e004a0c99fa29432940b242010af0bc2dadfc43434185ca5fe2c2bbb92136e'
'7d6a0d5bc7f589ba65952d43f35d41b837bbe999b5191e80db3d7dbff97a46c17f154ba45b6c88f394af96ae9d6f8e6a45ad046f4c34ebcfac34dd9aca80b927'
'c153922bbb0828711366ec5948de83089d40af39f72c5b5cf70905c691b222015c626a3c936b6260d6faacf4c707d4c3f2bdda77b50ecb3b1788fcd04ad67fb1'
'1e6838419c4252665ac9086b1cc671065862877cdf3638ba81ccc87fcabffd4b53b1164f0c54e2ae288fcda76251fd309a1b378eb64d8ede08a2f0278e80c742'
'09236e71b6a0b6875076c12f8398b7bc18cb83bae7ffc6ac631329e174195daa44d8990953f4bc992288bcf523eea3f49284403c547505fa5387ac10d2bf615d'
'e6b00909b4e23169145fb81e174393010269e707f9d65442759fa4331a1bff01ba907896b152af756a97d94bb9a0011a1a47b94333e67eee11002605a67fe3c2'
'69f7633b471c0afc1550ab8fc31c5efc73587d3c99c070aa70514998bc9be8e617a25e68b340ed33dbffbcbe24dd7a0ca1b0a00c6ddaf1ed25add065faa11ed7'
'bcaa69251088e707bf2d953f66b0a24c1ae3a77aa73da14118c6d496e284684cea6162cfa9334432311f88e39b82f67e247b1f7d0b5be47b55c2785d97a8efe0'
'42b3a0c1ffa470ae5310d9558d0fb127341d0ea4fe2a6780c3c8e127cbffc5d1a84d807da7030b4fd554ad095e5cc249926727a447a168f07d65938abf74dac3'
'00b8e1e1414fdfc09d690539ec9a6cc2ed00db6e0882a3c5333c025e4a14596152e10d703c7c700b0dc2c093e67d93b6170f4324894590048a0fe9e4fe3f6995'
'ec9eac683685a7be5189fd2424a3ebadf65bf0dddbd4e894f7bd3662c50893da352702528ea612fa47e54790e8aae0eee141c2264670e711b7c6fb20b788a7ec'
'746321796321a08eeb9d95d70a40729e876a2671dd59095df100112ba94a6124b60db6361283a783bd35ca85f0fffe805f268b11ea7ba5e59415c4bec03d4a0b'
'7a963fa543d3fc5ccc9b2215ef12b78a22b1598a36008bc34a7ac78d10dc5e622d1562c3532840130777547825362e1b635d706e90f31a505a452146a8e111de'
'c733b669daec6a512d83ae136567878b7bac1ad8cfa8cc28b3f3b7e047aaa9c46514a687a4894b98bf371106f92af59f7b914523defd47ad5aae7aa08cfdf637'
'7e93c8fd917477173e2aca4a4c30253abb14277e5308ba5806d785d586825891b59b79bf085a3c2f2963414476ab91829299aa745354a7b5b5ba9f35275cc976'
'cee7b9a8a7024128e11c87d66505d2f6f7e8570b0f0717630e58fcadf4e857832c67f81178d6a66e7883577c0b2f7c3725e0df0692ca6e3256b8f7887196277d'
'e4ea3ccc07fd915d68d8f145b810dc3c207fa8db2d615d65b8d4804462be97d7f9c2593d080be10bf41cfc444b8d8fe368e9f2040f504f897053e08405858f25'
'd021e634556c4f11ec21f9a49d0a5a8659b4f073e5fb8ec2eac88bb527302a121897de6e1b75ff8a64ad4765ad53bc0cbc4dee5bf127e7136bce930b1d2fc717'
'88699489af3666cc1b83daba8c0be6acaa1a18d38daec5fa7f33a8d23e53456733353a111c7b849455d248cc2ad32df23d594a50ea389dca03294724b263c37b'
'3efa827a9c16ccab057bf0f730d4176b003b4f5ae3fbfcbe2f3ef402bd43d7fa6e97bce95462021772eb3601e53b408e01a3bd705a745ccf39bab8126e42b271'
'67de5ea7887411b1cc926bd3f12cd296e7185112d23bad9aac4155b85fbda8b5d412070d03c5ef69f874243eab2ea60864bb66cf5bd266877cba128ed749862b'
'314721ef6243ac20dd35134774d780c85f44c28b02bba82141b22c52094518358a2dd4cd14cd7a74ef678edb53e465d8715c5f773d22dcf17bd168de89e42298'
'423705883f1d445aaae9d1295293863d378e9aa97b4ab0a448f7c8865f8990c30306d63c5e6988c858ac8ad4f3c0c41c0371f97fa9932579be067f178e6e67e9'
'6d7c2f3f827314e3b0422a59594d4465462c1db71c3e83b6a1ca6389b2e7b5e9b356c776abd38fe201ac36d0a4d757754899553a9c84ce9d148578af01c21c4f'
'60df7c67e2d0d4e5f79067e44027556fa65a81a2439d6269435e161f45f086b04aea3bd8a57ea0f32e09cb45d04becbbb15733943169f4035e0ff5ecd0e72479'
'b8e6e58338040516b1198e939f78689b320536a356cfcf6344f471ce9e45090308502d9dc5aebfe882457e0c10c15a5b277f913dbd03e43276caa7d755fa183e'
'5a1b54cca918bb4baf1911a600a91439ec328f10b942739226259ecb75d9e15c141563438b1c9d2e06a983d0e452becd610f17a9a85f737b4af4ff45aa0f3b12'
'63464b482c79d1407c92a38e9b206970d5439a0c511c66e741a221be17df96ffe0defa77b084c0bb735d0cc98c4e2d4d40e135031f6d98feaa5b0ef0a640ec6c'
'79f3e170d72feacf20b1de5de4363720826a7dd61262f4fd817c9c19d648e886b57b2d04244ef0b5a9fa60df28e9437a033e26cc8efe0f479e49c2839c82549f'
'56f066a7f0e24a0e6344cbd7d3f36e9032a0eb72117702789201e5191048787ff2bce9b3d2bfdc049686f1a6ff6157f07b5b4c3bdbc41d7920315201c482db1a'
'956e0d596ed241e63e65a99bba20b3ee766ade14ebb8e42610ac9844aeb976774ca34f08edd271abe5ecbbbd9d9ff02bdbfb5fd50e36907cc988004580144540'
'415e273335d3e36d86651ea5d38e79758b11f4398adf94bca14d16abf28f895e2c6e1734ed52a0bf249ec79a5bf005ed06c0928880377e53a64e4735c65eb7f7'
'5690b70aa6ef7ececeae055e83ff9c66892dd6f4d59db0f26141d9b6db8ca1eb4b04a192e740dd6bd781b809e3af823538e45151164ba980404f7123293e0955'
'3eb61fa34281290d39399a4e272bc891f1ab1f66be6bdd7435f22cc6a643d8531b48f1463aecd5545f92b4344df22ae7281325556061810d07a26ba73ad8145e'
'e31cff0cdd441703d56a970e2785587585a40ae755388c60b789b4096ddbc41edc0c68172de5358e9c0a8d2d683da40fb819e17b2068ff16f07e9ee0cbef860d'
'cf1184c7d8e8b5ee7e11804210372c6c1fdb0cf9c8185688c6158422842c7615c106a179e8898969f39677015177f88117c68ea177e7d0c3b3f1b8d6cf202a94'
'31bde45018976d5c9a211917bfa08bd4e843faaa011e947f61a67948ba53debaf929c4722c60b48797e691dc9060bde34619812e539dc179eaf851a10f6694dd'
'02092e953b2c50521a60e1d087bc8d89ae8992c493975f5368ea98683c2367d8e438eadf31382d9ad66ce6dc0fddec503d1b142bef9c5dab0a3ed551ac8ee0ed'
'da3f4ccb99f2d69580f7f7d1c565779e764be10536588f41722466753fb4b0dafa71d59d439c00800aec4a95e3accef981e7a96fb71761fdeb66e53fcd88f96c'
'23b949b96026336ab0d55d78ce3a3e8fec3fc8fabdf7559238ecbed4dcb68a44afa03de943679f4ed6d65db4baa8e6daaae0d486a66d93b72b48fbcbb0b1d955'
'3afd4a409086ab698f53784587df9be932912f99766ca1488d7d45fbc0f20e72e408e3fd0686307e378731628ea398c5472be57bccb6579ec5530711d881be1c'
'48d322fb0eb34577c8e8aad13d7a71aceae08bea1189c54b51155b76b4f25264f302b3d7c1f0defb58e37e66d351778b9b9b8472f974767b7dffcbcb9f95cdf9'
'88d620a9f22ddf24127f37f2c27b90e95d696cc6cef95d079b2e1e749c384cef0242a9dc5d58e05fb954d93f678a46752835035a56ede183803cc016a8d29078'
'b0ce86a9abc7dfc9e8785a99b5d9a6c18c1f32509aa6d9f1b8488bc8e9f914c53f1c47ef054d29b31737b74b051889f06172f9e5d7d447a7b3875418a1fc0c2f'
'f65bec4211bcb958f26db54620f12943d18b8115e6cc0f65b013d64425e8014cdc3d828503eecac6290c86fbca5c41d13ec1c195314860039322d3c88ab97c95'
'dae1fa813f9a46c51bcc559235563d6ec0adbebf84132942a8fb520e8d741f421e4756f39b419afc6a55f3ddb1f03eb685f353cc747241fc4277c614809c04b0'
'8542e0e3f952f9dc76bca8f6ad68c1aa252da031d743c2bfeb9a2aa94f90aa161e96de3ce772b11c2cef5806320d175495da9bc182579141cab32c0bb62cc9a6'
'f43d8b761fc4fdd248bfb177d6cae7bca6869edd410f7f4bea3dd88f65428632ead10e08ee3b4bac576dd4b471a82d77c070ba81d7617c0ab651a5bdd6f0e121'
'1b33c02a92f2f84b6b8acd9ffdd038c51c3edb6d9468530f547be8fef9fbb06d20e565061d1615a3f7a38d391941878a0e6753686ca1cf08d58abaedadf1871b'
'0e4d397e58f983bec33e46edf927e960c705cce914fe3fc7d6ed981587779e21dcc627f34b6e2672203033324356a16dc81f2940c3da189295960ac2129a10c9'
'9413957c44d73c827bf9b1f7a5e9ffe1ba1793b4b6fa499d15ccb7d2b5b59fdbedd1b4b1b544511c7d194bee7ef5c24aa32a3682045b0bc5a4601c144eaf57c1'
'724e514374a17bf257a35d5544ca51507a0abca1cac7532071b62e24ba0428f217f78fc5815d86eebb207a103ad3ca9388e5a12dea83e5d27b762247f9f64232'
'33c96fd5b0cfeacc1ae670d9c76cc82002dc02bd5ea8fb10e63d5110739aec9eceda33a267acc3e468152d77997b7a920926d4019727953e9331dee803f5fc87'
'c67408c32dde91e0aa71a454d271f1bbc06b65dbdf5f0456a2618cac8fa546a917f05b785757550313a8e0ef69a3f907caccc5877fd864a5d72769f9c5be3dd2'
'4965e4fc8cbf8ec42e940d178c7eedf25ace3104cc33b90b7b1e1cb9b3818334fb3ddf5be058ee18b805e65122ec5c22b4f6045c841485e6940bbf3e6397d47d'
'aa789247b4e853e95687072f5f5e93cf835b799b5d037558ad49230ee64b9494fde0328c1a792aac52f36ec050b0efda193f0ad7495f5f7c30c0f3ea9555ae75')
# vim:set sw=2 et: