PKGBUILDs/extra/thunderbird/PKGBUILD
2024-03-06 03:17:01 +00:00

361 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=115.8.1
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 lld
gawk perl findutils libotr
)
options=(!emptydirs !makeflags !lto)
source=(https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.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
# 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}"
CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
./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/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=('4d28f865f482a0d4c91f26ef26709a00f78955699b4ca191f960bcdb8d2c0c95c2a8e8782129d5660e192c605cba021fac553b13868861086a608f0c50aa5da7'
'SKIP'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'fffeb73e2055408c5598439b0214b3cb3bb4e53dac3090b880a55f64afcbc56ba5d32d1187829a08ef06d592513d158ced1fde2f20e2f01e967b5fbd3b2fafd4'
'9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
'7d191c7bf2db6ac4b046745fa8c7025cea5a80f55d6b95a0af5acf41ec411119419c1b324ec20c103b2259b90c9f12deb179fba596fe7fc788d9fd72e19e058d'
'030beb03da8f444179af9fa47c267719e6a47b8b62ab3461ce3ae7df644a520f634ad7b7669e59bdcf8762112609d3b1915bb65dbd58f703050909f18dbc8c90'
'6788009d0c9ad5be834811996d13c4dff8f1ffe22d750cd5839bb1745ff5db39f71caf017f3ecb6a1bd33199617572acbbb91cd4f4f07e99db524acd01c1de19'
'86e4f6808699d27328e6fdecfc995ef5ee5dbd31fc57342e2591c37705eee3d67aec006b0007eea6a7333b50270d5681d4f492406e731b8a75bcbc79a3e6fc91'
'd115947679129e211d734782c4beaec6e7468acd3f5faeb07b8fca85220f7dfedb3273addd64befa0059fc47abd43a4185547af1e59892df3fb8d129fa21e129'
'fda914b7506a8a68f508a937699cafa71dae3e70f3e13ad5c7a3dfec68716f07416547c7da96638d04efdc9cdcd59c950427f0a8bce25ceb5254c72bd232303b'
'5b0da2baaedf0492b33735482e1c3a2ea7801d82d05390939f3ade63953390d970647ffbf4e19b7deb0afca820b07422acf0183f41b773680d6529f3a7415fdc'
'9e641a93c525de4193f2ed583517877132308e0ebaf2dcb8a4c31dd0bf0508f08b69aec351160edffbca19d3ccefd04b3cbd338cafb3ac50a1e9d58db7dc7e81'
'19580187ccd622fdb457f23d9987abbe1bcb86993db3bcebb6f8214c5f344f81969f46974d260faf7e47fcfbdcf28b8e43e0d291a3e8bd6425471fe78ccf1b33'
'3b86d434a996a3b2ebfc5b9161a8b96ad249fc55b2e8a30f11e663f356ebef9eab5a7e1b0c1a93707134e82a96e8ca3f6c9db639cd7b1b18e23e4c6bc1f74de8'
'94c3d8a035094d210e68a333e2590ff3ca393b0d9b45994bcb55337e4293a81382482f3b3d54f4e90d66a2de9aa93428ece14930b0122658ee05aa5d9dc75cce'
'c733818a1406bb64d57ebdebeaae1a6d3e558d387eab760e971405bf06be2811cb9b8d22d977e7c97130c53f43cffb939c463f969c61100eaac461fde68219f9'
'c6043708770e16910f2b6b6a61c0cafc421150a0ee6e83dea83d8f598dd544e2759d41fe3b6281d6e5c84a0509d608a0a1604d48dcdebc86b094f249066ba380'
'940c64a967349c40817becacf57e75cf59c673ee060cac588bc774564b1dac0283a116587ed1cc1099fc4d44c2d36105ba6fdf8219dc23c1671712b6b738e7a4'
'f15db6ae760f63c62ed59774b5fb298d121d5713b148e010df160689e9fa450fecef10877409d06a3174d7cc8a315ae47bfb62c2db3939bde4071373de1d93b6'
'70a001901600752333578ad865d152726b63aa400577c5cd12a2294b32905af595f35f422ef831807efecc7e585e30e46083ce7b4cb63900c37e1c9206614195'
'144d4dd89595e4479791ac219948f425e2e0558b9351b6088b8432b9da2c0159f5aa2d17741431e1f3a09d744b4d2dbe56076e600da1433ab9c8c8973a632dd5'
'ed043d2618127e58569ce992b9f6343e8b1a27a3fd2ab11eaa1db84c787526032c6187cdcc07f560baa5e17fce7e0347198e3b2a732a95842d87051052697fe3'
'02d2b8a589f1bc006640f973b8b1fd0fdb7a87879a08dd66ba22010536083c0bf18ea258fc32acefb6090b211fb90078de9962cdd07661154c4a0afb586ba1dc'
'8d110ad5d9abb7123595d4c1fed8ed3f92e628659e78628e6ee27dde967dfde28c889609d24f581820f98b8ae7cf752272ceb4676966053a3e9b294268329ae0'
'945c4e5b5061f0d7c8bf6c1df3c455e497dfdeae26631487c4d39ff5ce1c9f7f00cfc57587c2400dc30626e54b09a1b18f520a8e5d39a306f6cd9b70f68077f8'
'15b6adecf2a6acd5d4d756b4a188da1478e0ca2559a697a2bfb583d7ae82d431f3efde9ed9679903157203182a45d5a8f9e7b4dca8ed1ef953786f31d7db8d08'
'30a6cebfa939b4a584b484b4a8e1e35fe4acf3edf7dbd8f4a2e2814b9f34b2d1e672da08ee58eae8669a88be726070eb64bfe115d7da14a3c34c43136269474c'
'd3bcbc08c893aafba9d898246b475c30a552329601e5941df677a0238df612ce11a863308d9573cfcc6cd55c2e4f2024906086066565bc43f6e3637e07b10c45'
'3bcd5e4716baf6c5ab1b649c7e1cd65007fd8c8370f50b9b6eafa14517804da81db031f1fcc15ba86314554f0327ec6f5bcb62919a4e404332aeed977b4c7071'
'b8cca480bb236ad7d946a5f84ec77cf62781936871c84413e001a0796b88214df87e261aa5bd6de860948e9c81f94b0b8581d018bffe5c7ced8a2f158c96587a'
'c4687eb382c5085614a7df11e2aa15d486ede5867a6939d1646120bf80c9c7761be0766b79667d8f3b25cb79faf86818d9fb4a4d7eb1d06d20b79f90c4a4a568'
'5c5d98a77c2ba98b60835faca7f4bf2096cc9ee0edf9e65539b49bec82f44b3401bd200e340c8bc5b7c670f1b5a064993f3de97d612acd7e4011150cfbcb5975'
'360a809a18d9b11297267bff0ce0f5a46feebfe5481fad6b05c75bfefc2d4b183c8c4750aa1ecda0fa6967d3eb98a9dad52ccb05a688310cc3453971ef0a2fde'
'0fee60ec1b7f3dd26ff7736569c9a62d5319b4decacf131c49280d9dbdd0f58bed0643b5debab24e5c43a14514967f31aaf4466d873e787057c5e3620d876790'
'a3b4a4a8c784e28e92e96f588da835e17042335a20e5a1abc81e8b91b75387a68d1baab1e5711e32e44cf456cda738994def06dd5870ec5f073cb4f1fc0a4567'
'f91e23e7c174d85a9d900aa850e152ea23264d52249f4d942268ba7d2aec634848e3cd57d22fc1fb17fa35607fad9d6ca2376d478c2867712cc69631bb02e0e2'
'1ec47fba24e13053409042cd8ab936fdda3ab4332ab056a7469c8d12ce1dac98706e41e6b164db4c431e3e80657a28bd6afbb04f2a89c6b32e37528909a3c9e3'
'd1a01bc32a2770bc310d31bb46448ad00bbd66b4ca26819b6fe75060bed34ce5e6edbcbca4f1ec4930c4c24f20cd5bc4484bd85a7e32370f9c40d74718319cd2'
'39e2c526eef8a4a95532cb9227b8ac5b91dc5684595ae4bd4495e9c4b4bf93a59819a5ec4843e2788b27513ed75f175e8bc50e03a2682c52786c94cc2ba60428'
'9b7a94259972aab5842f2e79f7d99d1bc5045ee7d84e970e2bf96331e020685f3fc8aa52af02421026b7c277379b592fe73e77d1138522816bfd4c1eb6001043'
'39ca026e13fab9155ca3362f98cb6e7035bc6e404a22fab770adf233cfdcf4254eb1f4a7461c83ee26b17ba02c686801c4650b532823c833800742fddaec01e7'
'd0d43d80521493d84fe835199fdbc8b97a85130ce87b37185fd70e13342f5282a7d53d9e80745061f973dcc53c120d1f6b23691fc964537a6707a6184cc5efbf'
'7e0087047337a09b6112a01c057685b48f5d82e827bfd5dffd001f4b367da16eda4181327e9571fb196de2c8a36827451a4b0a528f3e96ccd0ff51319425da91'
'3faef9f455306768e6c08426df9b0cd57710b99af92a50a09d761268b5666f73838fc25bbe141a2e125adceaa7d73efcc972e1afb28286ae57cc8b2b8e098e9e'
'7225f98244b5fb8133322e108b1a9581abe62bc42ae9f2f819c46c156d5fbf88b6a1942410c7239752ca7be25f042410ef5762d095fa120331ffa4eee7b1000b'
'da544958bbabb90881007e09fd649798be8d3b802fa490e321dd7ecbac0f1a3153b10b3501bf8ad8b391b7b493a61a84144fb9987449b0f3ff5a2faf856d6418'
'55d0a20dbb850fda2adcb441bf14db6c6fbf538f7f34bc32fe5a9ea2cc4694fa6eb57aac60daabe71680ac3035e330e6415936696a6ae88cf35d157565bfa66e'
'85595cd52e7e92a9c25b8874d96cd0e083031cbe8756369240196e8c77fc8b6884c4e8dba2c6d592849b0fc2121810ca6726109beacdfb5ad6a13a6c0e4cd760'
'fea045be695547307be989e79e7af26b5b52912cd738c7967aed7e230069fa4e87d4176c671a1b91ad695f8668a65693e7be1f4f5b895efdc29f3821a00c7801'
'781470b3eeac8fda791a53cf25819802af33f4901a6ec7a26cf0a9049eef17804dbbf319f3df25fdf16439f86600cc4ac155efa6934af79162b40500f5372e98'
'4946e108ff597973c01719dc5e3785cf447c003ea17f580638eb9ded71c8704466255c5f37262373b8ff8bd21b843f35ad58de9f298ab69976dba613e084a05f'
'bc8497dd92c67efb876c250d141fab97911c3d3bc1a97530b9384a5ae2a24c8571e5e5a76b26b4a7f30df46b1b7043d46fb3b07ee9c38a2d05df3a263ac0a304'
'95e92911dc519df8f736456c07ddb990e92abde414609141fbb9fe1d08c137f418d606c721ad24c71d27638eb1592f455664faf3b48dbad3b055306c907b1661'
'abff088aadebb87b8e95ed2c9b48d4b9ad1d556bfbfe0ab97f66bfa1e0d7a847b2cb0eb60d37327d8749143cf4932a6e80b0699710f5b23becd2e10d320f6a3b'
'0575cf0603d6c7de77f03f056d6af33aa14be8f4e010841e0a5440185b65b835959a24e1e7988cce0620a2b8642b35ddc583c32723b834ecd90f016068e69c55'
'f8705b6ba4992c8bb1d4b0744954ca8bfb77c8308f4c66164517b081e9737d8f499cf841fcbd0b144ef875ec1d976c6b9a0429db6efa5d0c17102f8fe0a1dd0e'
'5e924144b157e11b18a04b1b2dd5d53f3dcb0dd95d66234d1fa62addaa8124c2baa2e49f9fd94c96a72d56046953feabe6e1f0432a5ed1fb93e98f8c9c1b3b71'
'e32c636c4945e8425cf7d016343e64cf344de571abbf3fc8457c3a187e5018cfee8604cb9eeec623076df15d3bb655bc1d91b51a123fb1abfe3167d85ae06eb9'
'a61f7be3e9264534533c002f4220db9d4bb2031aa56b0ac06c25e1270d7d5076403e9a934aa9a5c9ff6ee3050fd4bfc53a766e3137f04f165d1934bf3fc22535'
'e0c1f1820e569d35dcb2c55829fe1d0cfb010f12703263deacea160820c0f53b5996f988a1d16f0413c22bd5b2aebd608f65a2ca13f87c8ee0ed312449a048d6'
'33e4d7a550ac55f3b25ea2ccc56d89d413c1305ae6a55d7a44f875b3c6185a37ccaab87ab23cc514a660c3fdf08d0392359524520514e9d638262132e481e24c'
'de3371f875601cec265d6e9cf6924ef4fd2935f9536c900469b27fab8ef1a69da52d0f43de8ed3c45ebf24b104b28d91fd4a8ec279031ae1542f805632909c6d'
'c360ea01c8da9c7d49bf96af9ac6a093ebbd4686e9e0d4bb9d6b4279198a5190e805abe7dd0c8def8738696cf335c00d46d540f5e2280797878efcd44f9723fa'
'61f3467dc2e471e595e856a86d893289edc95b851ee29d90f9d6e5df5bfa5dd8fafc9afbf9b2c920466dc489c1a6084d74665c69233cb33e69561653f0cadc42'
'eab5a7fdb7f1ef19d7e36b34d181631f19031e889092da965979a71ed94680105f5d01785980ea22997ab5f68fbb5db6749c6891bdb5438f1c29bd60f3b767f3'
'd1bf4e8212ed5b70559554d0286d62dbf625fcd21b840f73c27bf5ea86f66bf94cd50b822517bdde9eb30a4aaac7657d9c61bece935fcbe84c1feee8e007321b'
'aa1b6aedcdede4ce8cced59f583a0327c96f7e92428412d0c40d2f8d50d843b435fe950775951c8b7109cbb39bf64c17e63b0935b0fac1f6e20380ac3b034596')
# vim:set sw=2 et: