From 953013ea36b44b37a7f794f83a4785fd6e8ceeec Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Fri, 3 May 2024 01:00:52 +0200 Subject: [PATCH 01/34] upgrades --- android/app/build.gradle | 6 ++-- android/build.gradle | 2 +- plugins/aves_services_google/pubspec.lock | 12 ++++---- plugins/aves_video_mpv/pubspec.lock | 24 +++------------ pubspec.lock | 36 +++++++++-------------- 5 files changed, 28 insertions(+), 52 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index aad98560d..ecf351dbf 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -200,7 +200,7 @@ dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0' implementation "androidx.appcompat:appcompat:1.6.1" - implementation 'androidx.core:core-ktx:1.12.0' + implementation 'androidx.core:core-ktx:1.13.1' implementation 'androidx.lifecycle:lifecycle-process:2.7.0' implementation 'androidx.media:media:1.7.0' implementation 'androidx.multidex:multidex:2.0.1' @@ -211,9 +211,9 @@ dependencies { implementation 'com.commonsware.cwac:document:0.5.0' implementation 'com.drewnoakes:metadata-extractor:2.19.0' implementation "com.github.bumptech.glide:glide:$glide_version" - implementation 'com.google.android.material:material:1.11.0' + implementation 'com.google.android.material:material:1.12.0' // SLF4J implementation for `mp4parser` - implementation 'org.slf4j:slf4j-simple:2.0.12' + implementation 'org.slf4j:slf4j-simple:2.0.13' // forked, built by JitPack: // - https://jitpack.io/p/deckerst/Android-TiffBitmapFactory diff --git a/android/build.gradle b/android/build.gradle index 814e9fc98..346400121 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,6 @@ buildscript { ext { - agp_version = '8.4.0-rc02' // same as `settings.ext.agp_version` in `/android/settings.gradle` + agp_version = '8.4.0' // same as `settings.ext.agp_version` in `/android/settings.gradle` glide_version = '4.16.0' // AppGallery Connect plugin versions: https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-sdk-changenotes-0000001058732550 huawei_agconnect_version = '1.9.1.300' diff --git a/plugins/aves_services_google/pubspec.lock b/plugins/aves_services_google/pubspec.lock index a6861c79f..7de6ca455 100644 --- a/plugins/aves_services_google/pubspec.lock +++ b/plugins/aves_services_google/pubspec.lock @@ -203,10 +203,10 @@ packages: dependency: "direct main" description: name: google_maps_flutter_android - sha256: "256b3c974e415bd17555ceff76a5d0badd2cbfd29febfc23070993358f639550" + sha256: "0bcadb80eba39afda77dede89a6caafd3b68f2786b90491eceea4a01c3db181c" url: "https://pub.dev" source: hosted - version: "2.7.0" + version: "2.8.0" google_maps_flutter_ios: dependency: transitive description: @@ -227,10 +227,10 @@ packages: dependency: transitive description: name: google_maps_flutter_web - sha256: "861c6dd430123e58bb1154342345c5bfa36064120c8ec3dbc0d0b7522add1861" + sha256: "0c0d5c723d94b295cf86dd1c45ff91d2ac1fff7c05ddca4f01bef9fa0a014690" url: "https://pub.dev" source: hosted - version: "0.5.6+2" + version: "0.5.7" html: dependency: transitive description: @@ -464,10 +464,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" + sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.5.0" win32_registry: dependency: transitive description: diff --git a/plugins/aves_video_mpv/pubspec.lock b/plugins/aves_video_mpv/pubspec.lock index 51f705fee..a02266c37 100644 --- a/plugins/aves_video_mpv/pubspec.lock +++ b/plugins/aves_video_mpv/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + sha256: "0763b45fa9294197a2885c8567927e2830ade852e5c896fd4ab7e0e348d0f373" url: "https://pub.dev" source: hosted - version: "3.4.10" + version: "3.5.0" args: dependency: transitive description: @@ -70,14 +70,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" crypto: dependency: transitive description: @@ -264,14 +256,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "79fbafed02cfdbe85ef3fd06c7f4bc2cbcba0177e61b765264853d4253b21744" - url: "https://pub.dev" - source: hosted - version: "3.9.0" safe_local_storage: dependency: transitive description: @@ -449,10 +433,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" + sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.5.0" xml: dependency: transitive description: diff --git a/pubspec.lock b/pubspec.lock index 877308596..cbf25c2f3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + sha256: "0763b45fa9294197a2885c8567927e2830ade852e5c896fd4ab7e0e348d0f373" url: "https://pub.dev" source: hosted - version: "3.4.10" + version: "3.5.0" args: dependency: transitive description: @@ -144,10 +144,10 @@ packages: dependency: transitive description: name: barcode - sha256: "1fe4a55344505850517ce72d4a3a7b9ccf51b0dc1631ee7e552f6eacc4947f96" + sha256: ab180ce22c6555d77d45f0178a523669db67f95856e3378259ef2ffeb43e6003 url: "https://pub.dev" source: hosted - version: "2.2.7" + version: "2.2.8" bidi: dependency: transitive description: @@ -635,10 +635,10 @@ packages: dependency: transitive description: name: google_maps_flutter_android - sha256: "256b3c974e415bd17555ceff76a5d0badd2cbfd29febfc23070993358f639550" + sha256: "0bcadb80eba39afda77dede89a6caafd3b68f2786b90491eceea4a01c3db181c" url: "https://pub.dev" source: hosted - version: "2.7.0" + version: "2.8.0" google_maps_flutter_ios: dependency: transitive description: @@ -659,10 +659,10 @@ packages: dependency: transitive description: name: google_maps_flutter_web - sha256: "861c6dd430123e58bb1154342345c5bfa36064120c8ec3dbc0d0b7522add1861" + sha256: "0c0d5c723d94b295cf86dd1c45ff91d2ac1fff7c05ddca4f01bef9fa0a014690" url: "https://pub.dev" source: hosted - version: "0.5.6+2" + version: "0.5.7" highlight: dependency: transitive description: @@ -1117,10 +1117,10 @@ packages: dependency: transitive description: name: permission_handler_android - sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" + sha256: "8bb852cd759488893805c3161d0b2b5db55db52f773dbb014420b304055ba2c5" url: "https://pub.dev" source: hosted - version: "12.0.5" + version: "12.0.6" permission_handler_apple: dependency: transitive description: @@ -1185,14 +1185,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "79fbafed02cfdbe85ef3fd06c7f4bc2cbcba0177e61b765264853d4253b21744" - url: "https://pub.dev" - source: hosted - version: "3.9.0" polylabel: dependency: transitive description: @@ -1458,10 +1450,10 @@ packages: dependency: "direct main" description: name: sqflite - sha256: "5ce2e1a15e822c3b4bfb5400455775e421da7098eed8adc8f26298ada7c9308c" + sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.3+1" sqflite_common: dependency: transitive description: @@ -1755,10 +1747,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" + sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.5.0" win32_registry: dependency: transitive description: From 8eabed6bd21a9a6a0386c6e1f57e8b62149d5f64 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Fri, 3 May 2024 18:36:01 +0200 Subject: [PATCH 02/34] l10n --- .../android/fa/images/featureGraphic.png | Bin 16056 -> 17452 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/fastlane/metadata/android/fa/images/featureGraphic.png b/fastlane/metadata/android/fa/images/featureGraphic.png index bfbfdaa7f2503d6d176f9d840658e888204a31dd..7dcf92379d5843b68a6876c8b94531cc89eb5961 100644 GIT binary patch literal 17452 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

Y|1BXIUC3k)6#m+u=Og?+sFv*(Qw5BT)6 zDhu?~)XkvzY^nx~)dtUw)tz(q@YvIZNzR`gw+;gO;#l2rI8vGrV4D5|6-hxyV_;{e zf`ekw;y2(t4#1Mn5Iy(5{TVXraiHO`f$zNNBY!^=LWp|{O&-arkBY9vH}1cP+JLf=!rX4|8r!ypXuBu s(74zU_zk4(|CJyAf4}$_vO^x4f{LRZkI(&q6Y0o#Z9}bh8uqvU50~qzGXMYp From 07ca1a90980975a0351a49b6adb8894bad1ba215 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Thu, 9 May 2024 12:16:21 +0200 Subject: [PATCH 03/34] l10n by weblate (#1006) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translate-URL: https://hosted.weblate.org/projects/aves/app-android/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/be/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/is/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ru/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/vi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/store-short-description/ko/ Translation: Aves/App - Android Translation: Aves/App - Main Translation: Aves/Store - Full description Translation: Aves/Store - Short description Co-authored-by: Aitor Salaberria Co-authored-by: Alireza Rashidi Co-authored-by: Evgeniy Khramov <65224669+thejenja@users.noreply.github.com> Co-authored-by: Fqwe1 Co-authored-by: ID J Co-authored-by: Igor Sorocean Co-authored-by: JY3 Co-authored-by: Linerly Co-authored-by: Mohamed Zeroug Co-authored-by: Owen Elderbroek Co-authored-by: Oğuz Ersen Co-authored-by: Sveinn í Felli Co-authored-by: Thibault Deckers Co-authored-by: cheese Co-authored-by: fuzfyy Co-authored-by: gallegonovato Co-authored-by: glemco Co-authored-by: marciozomb13 Co-authored-by: ngocanhtve Co-authored-by: randint Co-authored-by: rehork Co-authored-by: vesp Co-authored-by: wanzh Co-authored-by: wickdj Co-authored-by: yangyangdaji <1504305527@qq.com> Co-authored-by: Макар Разин Co-authored-by: 何意挽秋風 <94283631+RejectVanity@users.noreply.github.com> --- .../metadata/android/fa/full_description.txt | 2 +- lib/l10n/app_fa.arb | 142 +++++++++++++++--- lib/l10n/app_nl.arb | 88 ++++++++++- lib/l10n/app_ro.arb | 18 ++- lib/l10n/app_uk.arb | 6 +- lib/l10n/app_zh_Hant.arb | 6 +- 6 files changed, 231 insertions(+), 31 deletions(-) diff --git a/fastlane/metadata/android/fa/full_description.txt b/fastlane/metadata/android/fa/full_description.txt index 37cba69c7..87c81b673 100644 --- a/fastlane/metadata/android/fa/full_description.txt +++ b/fastlane/metadata/android/fa/full_description.txt @@ -2,4 +2,4 @@ پیمایش و جستجویک بخش مهم از اِیوْز است. هدف این است که کاربران به راحتی از آلبوم ها به عکس ها به برچسب ها به نقشه ها و غیره دست پیدا کنند. -اِیوْز با اندروید سازگار است (از نسخه KitKat تا اندروید 14, شامل تلوزیون اندرویدی) با قابلیت هایی مانند ابزارک ها, میانبر ها, ذخیره نیرو و جستجو عمومی و همچنین میتوان از آن به عنوان نمایشگر و انتخابگز رسانه استفاده کرد. +اِیوْز با اندروید سازگار است (از نسخه KitKat تا اندروید 14, شامل تلوزیون اندرویدی) با قابلیت هایی مانند ابزارک ها, میانبر ها, ذخیره نیرو و جستجو عمومی و همچنین میتوان از آن به عنوان نمایشگر و انتخابگر رسانه استفاده کرد. diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 15870aa9d..5bf72689a 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -65,7 +65,7 @@ "@hideTooltip": {}, "chipActionCreateAlbum": "ایجاد البوم", "@chipActionCreateAlbum": {}, - "filterNoRatingLabel": "بدون رتبه", + "filterNoRatingLabel": "بدون امتیاز", "@filterNoRatingLabel": {}, "timeSeconds": "{seconds, plural, =1{1 ثانیع} other{{seconds} ثانیه}}", "@timeSeconds": { @@ -123,7 +123,7 @@ "@entryActionRotateCW": {}, "entryInfoActionEditLocation": "ویرایش مکان", "@entryInfoActionEditLocation": {}, - "entryActionFlip": "ایینه کردن افقی", + "entryActionFlip": "آینه کردن افقی", "@entryActionFlip": {}, "entryActionShare": "اشتراک گذاری", "@entryActionShare": {}, @@ -163,7 +163,7 @@ "@videoActionSkip10": {}, "viewerActionSettings": "تنظیمات", "@viewerActionSettings": {}, - "entryInfoActionEditRating": "ویرایش رتبه", + "entryInfoActionEditRating": "ویرایش امتیاز", "@entryInfoActionEditRating": {}, "entryInfoActionEditTags": "ویرایش برچسب ها", "@entryInfoActionEditTags": {}, @@ -363,7 +363,7 @@ "@nameConflictStrategyReplace": {}, "displayRefreshRatePreferHighest": "بیشترین مقدار", "@displayRefreshRatePreferHighest": {}, - "storageAccessDialogMessage": "لطفا شاخهٔ {directory} در «{volume}» را در صفحه بعد انتخاب کنید و اجازه را به برنامه بدهید.", + "storageAccessDialogMessage": "لطفا شاخهٔ {directory} در «{volume}» را در صفحه بعد انتخاب کنید و به برنامه اجازه بدهید.", "@storageAccessDialogMessage": { "placeholders": { "directory": { @@ -571,9 +571,9 @@ "@setCoverDialogCustom": {}, "nameConflictDialogSingleSourceMessage": "برخی از پرونده های موجود در پوشه مقصد به همین نام هستند.", "@nameConflictDialogSingleSourceMessage": {}, - "missingSystemFilePickerDialogMessage": "انتخابگر پرونده سیستم وجود ندارد یا غیرفعال است. لطفا آن را فعال کنید و دوباره امتحان کنید", + "missingSystemFilePickerDialogMessage": "انتخابگر پرونده سامانه وجود ندارد یا غیرفعال است. لطفا آن را فعال کنید و دوباره امتحان کنید.", "@missingSystemFilePickerDialogMessage": {}, - "nameConflictDialogMultipleSourceMessage": "برخی پرونده ها نام های یکسانی دارند", + "nameConflictDialogMultipleSourceMessage": "برخی پرونده ها نام های یکسانی دارند.", "@nameConflictDialogMultipleSourceMessage": {}, "noMatchingAppDialogMessage": "هیچ کاره ای وجود ندارد که بتواند این موضوع را مدیریت کند.", "@noMatchingAppDialogMessage": {}, @@ -605,7 +605,7 @@ "@drawerAlbumPage": {}, "drawerTagPage": "برچسب ها", "@drawerTagPage": {}, - "sortByRating": "با رتبه‌بندی", + "sortByRating": "با امتیازبندی", "@sortByRating": {}, "sortByAlbumFileName": "با آلبوم و نام پرونده", "@sortByAlbumFileName": {}, @@ -621,9 +621,9 @@ "@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {}, "settingsViewerQuickActionEmpty": "بدون دکمه", "@settingsViewerQuickActionEmpty": {}, - "settingsSlideshowVideoPlaybackTile": "باز‌پخش ویدیو", + "settingsSlideshowVideoPlaybackTile": "پخش ویدیو", "@settingsSlideshowVideoPlaybackTile": {}, - "settingsSlideshowVideoPlaybackDialogTitle": "بازپخش ویدیو", + "settingsSlideshowVideoPlaybackDialogTitle": "پخش ویدیو", "@settingsSlideshowVideoPlaybackDialogTitle": {}, "settingsVideoResumptionModeTile": "ادامه پخش", "@settingsVideoResumptionModeTile": {}, @@ -639,9 +639,9 @@ "@viewerInfoSearchSuggestionDate": {}, "settingsSlideshowShuffle": "در هم", "@settingsSlideshowShuffle": {}, - "settingsVideoPlaybackTile": "بازپخش", + "settingsVideoPlaybackTile": "پخش", "@settingsVideoPlaybackTile": {}, - "settingsVideoPlaybackPageTitle": "بازپخش", + "settingsVideoPlaybackPageTitle": "پخش", "@settingsVideoPlaybackPageTitle": {}, "viewerInfoLabelResolution": "وضوح", "@viewerInfoLabelResolution": {}, @@ -668,7 +668,7 @@ "@settingsViewerSlideshowPageTitle": {}, "viewerInfoLabelUri": "URI", "@viewerInfoLabelUri": {}, - "moveUndatedConfirmationDialogSetDate": "ذخیره تاریخ ها", + "moveUndatedConfirmationDialogSetDate": "نگه‌داری تاریخ ها", "@moveUndatedConfirmationDialogSetDate": {}, "editEntryLocationDialogLongitude": "طول جغرافیایی", "@editEntryLocationDialogLongitude": {}, @@ -865,7 +865,7 @@ }, "settingsConfirmationBeforeMoveToBinItems": "پیش از هدایت موارد به سطل زباله بپرسید", "@settingsConfirmationBeforeMoveToBinItems": {}, - "pinDialogEnter": "وارد کردن شماره", + "pinDialogEnter": "وارد کردن PIN", "@pinDialogEnter": {}, "collectionGroupDay": "با روز", "@collectionGroupDay": {}, @@ -881,7 +881,7 @@ "@filePickerNoItems": {}, "settingsHomeDialogTitle": "خانه", "@settingsHomeDialogTitle": {}, - "settingsThumbnailShowRating": "نمایش رتبه‌بندی", + "settingsThumbnailShowRating": "نمایش امتیازبندی", "@settingsThumbnailShowRating": {}, "settingsThumbnailShowTagIcon": "نمایش نماد برچسب", "@settingsThumbnailShowTagIcon": {}, @@ -1067,7 +1067,7 @@ "@drawerPlacePage": {}, "sortOrderNewestFirst": "اول جدیدترین", "@sortOrderNewestFirst": {}, - "albumGroupTier": "با رتبه", + "albumGroupTier": "با امتیاز", "@albumGroupTier": {}, "sortOrderZtoA": "ی تا ا", "@sortOrderZtoA": {}, @@ -1129,7 +1129,7 @@ "@settingsThumbnailShowHdrIcon": {}, "settingsCollectionQuickActionTabBrowsing": "مرور کردن", "@settingsCollectionQuickActionTabBrowsing": {}, - "settingsCollectionQuickActionEditorPageTitle": "کنش سریع", + "settingsCollectionQuickActionEditorPageTitle": "کنش های سریع", "@settingsCollectionQuickActionEditorPageTitle": {}, "settingsCollectionQuickActionTabSelecting": "انتخاب کردن", "@settingsCollectionQuickActionTabSelecting": {}, @@ -1153,7 +1153,7 @@ "@settingsSlideshowTransitionTile": {}, "settingsSlideshowIntervalTile": "فاصله", "@settingsSlideshowIntervalTile": {}, - "settingsVideoEnableHardwareAcceleration": "شتاب سختافزاری", + "settingsVideoEnableHardwareAcceleration": "شتاب سخت‌افزاری", "@settingsVideoEnableHardwareAcceleration": {}, "settingsVideoAutoPlay": "پخش خودکار", "@settingsVideoAutoPlay": {}, @@ -1163,7 +1163,7 @@ "@settingsVideoControlsPageTitle": {}, "settingsVideoBackgroundModeDialogTitle": "حالت پس‌زمینه‌", "@settingsVideoBackgroundModeDialogTitle": {}, - "settingsVideoGestureDoubleTapTogglePlay": "برای پخش/ایست دوبار ضربه ردن", + "settingsVideoGestureDoubleTapTogglePlay": "برای پخش/ایست دوبار ضربه زدن", "@settingsVideoGestureDoubleTapTogglePlay": {}, "settingsVideoGestureSideDoubleTapSeek": "روی لبه های صفحه دوبار ضربه بزنید تا به عقب/جلو بروید", "@settingsVideoGestureSideDoubleTapSeek": {}, @@ -1249,7 +1249,7 @@ "@renameEntrySetPageInsertTooltip": {}, "renameEntrySetPageTitle": "تغییرنام", "@renameEntrySetPageTitle": {}, - "videoSpeedDialogLabel": "سرعت پازپخش", + "videoSpeedDialogLabel": "سرعت پخش", "@videoSpeedDialogLabel": {}, "collectionActionAddShortcut": "افزودن میانبر", "@collectionActionAddShortcut": {}, @@ -1293,7 +1293,7 @@ "@settingsCollectionBurstPatternsTile": {}, "settingsCollectionBurstPatternsNone": "هیچکدام", "@settingsCollectionBurstPatternsNone": {}, - "settingsCollectionQuickActionsTile": "کنش سریع", + "settingsCollectionQuickActionsTile": "کنش های سریع", "@settingsCollectionQuickActionsTile": {}, "settingsUnitSystemTile": "واحد ها", "@settingsUnitSystemTile": {}, @@ -1315,9 +1315,9 @@ "@settingsViewerSectionTitle": {}, "settingsViewerShowInformationSubtitle": "نمایش عنوان، تاریخ، مکان، و...", "@settingsViewerShowInformationSubtitle": {}, - "settingsViewerQuickActionsTile": "کنش های سزیع", + "settingsViewerQuickActionsTile": "کنش های سریع", "@settingsViewerQuickActionsTile": {}, - "settingsViewerQuickActionEditorPageTitle": "کنش های سزیع", + "settingsViewerQuickActionEditorPageTitle": "کنش های سریع", "@settingsViewerQuickActionEditorPageTitle": {}, "settingsViewerQuickActionEditorBanner": "لمس کنید و نگه دارید تا دکمه ها را حرکت دهید و انتخاب کنید که کدام کنش ها در بیننده نمایش داده می شود.", "@settingsViewerQuickActionEditorBanner": {}, @@ -1440,5 +1440,101 @@ "settingsDisplayRefreshRateModeTile": "نمایش نرخ تازه‌سازی", "@settingsDisplayRefreshRateModeTile": {}, "settingsSubtitleThemeShowOutline": "نمایش نوار حاشیه و سایه", - "@settingsSubtitleThemeShowOutline": {} + "@settingsSubtitleThemeShowOutline": {}, + "collectionCopySuccessFeedback": "{count, plural, =1{۱ مورد رونوشت شد} other{{count} مورد رونوشت شد}}", + "@collectionCopySuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "statsWithGps": "{count, plural, =1{1 مورد دارای مکان} other{{count} مورد دارای مکان}}", + "@statsWithGps": { + "placeholders": { + "count": {} + } + }, + "editEntryDateDialogShift": "جابه‌جایی", + "@editEntryDateDialogShift": {}, + "collectionDeleteFailureFeedback": "{count, plural, =1{پاک‌کردن ۱ مورد ناموفق بود} other{پاک‌کردن {count} مورد ناموفق بود}}", + "@collectionDeleteFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "settingsDisablingBinWarningDialogMessage": "موارد موجود در سطل زباله برای همیشه نابود خواهند شد.", + "@settingsDisablingBinWarningDialogMessage": {}, + "settingsAllowInstalledAppAccessSubtitle": "برای بهبود نمایش آلبوم بهره‌وری میشود", + "@settingsAllowInstalledAppAccessSubtitle": {}, + "settingsHiddenPathsBanner": "تصاویر و ویدیوهای موجود در این پوشه‌ها یا هر یک از زیرپوشه‌های آن‌ها در مجموعه شما دیده نمی‌شوند.", + "@settingsHiddenPathsBanner": {}, + "settingsStorageAccessBanner": "برخی پوشه ها برای اصلاح پرونپه های موجود در آنها به یک مجوز دسترسی نیاز دارند. در اینجا می توانید پوشه هایی را که قبلاً به آنها دسترسی داشته اید، مرور کنید.", + "@settingsStorageAccessBanner": {}, + "collectionMoveFailureFeedback": "{count, plural, =1{هدایت ۱ مورد ناموفق بود} other{هدایت {count} مورد ناموفق بود}}", + "@collectionMoveFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionRenameFailureFeedback": "{count, plural, =1{تغییرنام ۱ مورد ناموفق بود} other{تغییرنام {count} مورد ناموفق بود}}", + "@collectionRenameFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "aboutCreditsWorldAtlas1": "این برنامه یک پرونده TopoJSON استفاده میکند از", + "@aboutCreditsWorldAtlas1": {}, + "collectionCopyFailureFeedback": "{count, plural, =1{رونوشت ۱ مورد ناموفق بود} other{رونوشت {count} مورد ناموفق بود}}", + "@collectionCopyFailureFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionMoveSuccessFeedback": "{count, plural, =1{۱ مورد هدایت شد} other{{count} مورد هدایت شد}}", + "@collectionMoveSuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionRenameSuccessFeedback": "{count, plural, =1{۱ مورد تغییرنام یافت} other{{count} مورد تغییرنام یافت}}", + "@collectionRenameSuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "collectionEditSuccessFeedback": "{count, plural, =1{۱ مورد ویرایش شد} other{{count} مورد ویرایش شد}}", + "@collectionEditSuccessFeedback": { + "placeholders": { + "count": {} + } + }, + "settingsViewerUseCutout": "ناحیه برش را بکار بگیر", + "@settingsViewerUseCutout": {}, + "settingsViewerShowHistogram": "نمایش نمودار", + "@settingsViewerShowHistogram": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "برای تنظیم نور/صدا به بالا و پایین بکشید", + "@settingsVideoGestureVerticalDragBrightnessVolume": {}, + "mapEmptyRegion": "تصویری در این ناحیه وجود ندارد", + "@mapEmptyRegion": {}, + "mapAttributionOsmHot": "داده‌های نقشه © [OpenStreetMap](https:www.openstreetmap.orgcopyright) مشارکت‌کنندگان • کاشی ها توسط [HOT](https:www.hotosm.org) • میزبانی شده به دست [OSM France](https:openstreetmap.fr)", + "@mapAttributionOsmHot": {}, + "mapAttributionStamen": "داده‌های نقشه © [OpenStreetMap](https:www.openstreetmap.org/copyright) مشارکت‌کنندگان • کاشی ها بدست [Stamen Design](https:stamen.com)، [CC BY 3.0](https:creativecommons.orglicensesby3.0)", + "@mapAttributionStamen": {}, + "addShortcutButtonLabel": "افزودن", + "@addShortcutButtonLabel": {}, + "aboutBugReportInstruction": "در گیت‌هاب با گزارش ها و ریزگان دستگاه گزارش کنید", + "@aboutBugReportInstruction": {}, + "settingsViewerShowShootingDetails": "نمایش ریزگان تصویربرداری", + "@settingsViewerShowShootingDetails": {}, + "settingsHiddenFiltersBanner": "تصاویر و ویدیوهایی که با پالایش‌های مخفی سازگار نیستند در مجموعه شما دیده نمیشوند.", + "@settingsHiddenFiltersBanner": {}, + "moveUndatedConfirmationDialogMessage": "پیش از ادامه دادن تاریخ موارد نگه‌داری شود؟", + "@moveUndatedConfirmationDialogMessage": {}, + "settingsAllowInstalledAppAccess": "اجازه دسترسی به دارایی برنامه", + "@settingsAllowInstalledAppAccess": {}, + "collectionEditFailureFeedback": "{count, plural, =1{ویرایش ۱ مورد ناموفق بود} other{ویرایش {count} مورد ناموفق بود}}", + "@collectionEditFailureFeedback": { + "placeholders": { + "count": {} + } + } } diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 2721728f3..10814804f 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -387,7 +387,7 @@ "@renameProcessorName": {}, "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Verwijder dit album en het item binnen dit album?} other{Verwijder dit album en de {count} items binnen dit album?}}", "@deleteSingleAlbumConfirmationDialogMessage": {}, - "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Verwijder deze albums en het item binnen deze albums?} other{Verwijder dit album en de {count} items binnen deze albums?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Verwijder deze albums en het item binnen deze albums?} other{Verwijder deze albums en de {count} items binnen deze albums?}}", "@deleteMultiAlbumConfirmationDialogMessage": {}, "exportEntryDialogFormat": "Formaat:", "@exportEntryDialogFormat": {}, @@ -1190,5 +1190,89 @@ "applyTooltip": "Toepassen", "@applyTooltip": {}, "tagPlaceholderState": "Staat", - "@tagPlaceholderState": {} + "@tagPlaceholderState": {}, + "stopTooltip": "Stop", + "@stopTooltip": {}, + "chipActionLock": "Vergrendel", + "@chipActionLock": {}, + "chipActionShowCountryStates": "Status laten xien", + "@chipActionShowCountryStates": {}, + "chipActionGoToPlacePage": "Laat zien in plaatsen", + "@chipActionGoToPlacePage": {}, + "subtitlePositionTop": "Boven", + "@subtitlePositionTop": {}, + "subtitlePositionBottom": "Onder", + "@subtitlePositionBottom": {}, + "settingsThumbnailShowHdrIcon": "HDR icoon zichtbaar", + "@settingsThumbnailShowHdrIcon": {}, + "editorTransformCrop": "Bijsnijden", + "@editorTransformCrop": {}, + "patternDialogConfirm": "Bevestig patroon", + "@patternDialogConfirm": {}, + "pinDialogEnter": "Voer PIN in", + "@pinDialogEnter": {}, + "settingsAskEverytime": "Vraag elke keer", + "@settingsAskEverytime": {}, + "aboutDataUsageExternal": "Extern", + "@aboutDataUsageExternal": {}, + "tooManyItemsErrorDialogMessage": "Probeer opnieuw met minder items.", + "@tooManyItemsErrorDialogMessage": {}, + "maxBrightnessAlways": "Altijd", + "@maxBrightnessAlways": {}, + "patternDialogEnter": "Voer patroon in", + "@patternDialogEnter": {}, + "settingsViewerShowDescription": "Laat beschrijving zien", + "@settingsViewerShowDescription": {}, + "exportEntryDialogQuality": "Kwaliteit", + "@exportEntryDialogQuality": {}, + "aboutDataUsageDatabase": "Database", + "@aboutDataUsageDatabase": {}, + "aboutDataUsageMisc": "Overig", + "@aboutDataUsageMisc": {}, + "settingsModificationWarningDialogMessage": "Andere instellingen zullen worden aangepast.", + "@settingsModificationWarningDialogMessage": {}, + "vaultDialogLockModeWhenScreenOff": "Vergrendel als scherm uitgaat", + "@vaultDialogLockModeWhenScreenOff": {}, + "aboutDataUsageData": "Data", + "@aboutDataUsageData": {}, + "aboutDataUsageCache": "Cache", + "@aboutDataUsageCache": {}, + "aboutDataUsageInternal": "Intern", + "@aboutDataUsageInternal": {}, + "overlayHistogramRGB": "RGB", + "@overlayHistogramRGB": {}, + "overlayHistogramLuminance": "Helderheid", + "@overlayHistogramLuminance": {}, + "videoResumptionModeNever": "Nooit", + "@videoResumptionModeNever": {}, + "pinDialogConfirm": "Bevestig PIN", + "@pinDialogConfirm": {}, + "passwordDialogEnter": "Voer wachtwoord in", + "@passwordDialogEnter": {}, + "passwordDialogConfirm": "Bevestig wachtwoord", + "@passwordDialogConfirm": {}, + "settingsViewerShowHistogram": "Laat histogram zien", + "@settingsViewerShowHistogram": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "Veeg omhoog of naar beneden om helderheid/volume aan te passen", + "@settingsVideoGestureVerticalDragBrightnessVolume": {}, + "settingsSubtitleThemeTextPositionTile": "Tekstpositie", + "@settingsSubtitleThemeTextPositionTile": {}, + "settingsSubtitleThemeTextPositionDialogTitle": "Tekstpositie", + "@settingsSubtitleThemeTextPositionDialogTitle": {}, + "vaultLockTypePattern": "Patroon", + "@vaultLockTypePattern": {}, + "entryActionShareImageOnly": "Enkel afbeelding delen", + "@entryActionShareImageOnly": {}, + "entryActionShareVideoOnly": "Enkel video delen", + "@entryActionShareVideoOnly": {}, + "cropAspectRatioOriginal": "Origineel", + "@cropAspectRatioOriginal": {}, + "cropAspectRatioSquare": "Vierkant", + "@cropAspectRatioSquare": {}, + "maxBrightnessNever": "Nooit", + "@maxBrightnessNever": {}, + "videoResumptionModeAlways": "Altijd", + "@videoResumptionModeAlways": {}, + "exportEntryDialogWriteMetadata": "Schrijf metadata", + "@exportEntryDialogWriteMetadata": {} } diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 78a29d2b4..0c70221a9 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -444,9 +444,9 @@ }, "exportEntryDialogFormat": "Format:", "@exportEntryDialogFormat": {}, - "exportEntryDialogWidth": "Lăţime", + "exportEntryDialogWidth": "Lățime", "@exportEntryDialogWidth": {}, - "exportEntryDialogHeight": "Înălţime", + "exportEntryDialogHeight": "Înălțime", "@exportEntryDialogHeight": {}, "renameEntryDialogLabel": "Nume nou", "@renameEntryDialogLabel": {}, @@ -1524,5 +1524,17 @@ "maxBrightnessNever": "Niciodată", "@maxBrightnessNever": {}, "maxBrightnessAlways": "Mereu", - "@maxBrightnessAlways": {} + "@maxBrightnessAlways": {}, + "renameProcessorHash": "Hash", + "@renameProcessorHash": {}, + "settingsForceWesternArabicNumeralsTile": "Cifre arabe forțat", + "@settingsForceWesternArabicNumeralsTile": {}, + "stopTooltip": "Oprește", + "@stopTooltip": {}, + "videoActionABRepeat": "Repetă de la A la B", + "@videoActionABRepeat": {}, + "videoRepeatActionSetStart": "Setează începutul", + "@videoRepeatActionSetStart": {}, + "videoRepeatActionSetEnd": "Setează sfârșitul", + "@videoRepeatActionSetEnd": {} } diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 3864c6776..7a6235178 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1532,5 +1532,9 @@ "stopTooltip": "Зупинити", "@stopTooltip": {}, "videoActionABRepeat": "Повторити від А до Б", - "@videoActionABRepeat": {} + "@videoActionABRepeat": {}, + "renameProcessorHash": "Хеш", + "@renameProcessorHash": {}, + "settingsForceWesternArabicNumeralsTile": "Примусові арабські цифри", + "@settingsForceWesternArabicNumeralsTile": {} } diff --git a/lib/l10n/app_zh_Hant.arb b/lib/l10n/app_zh_Hant.arb index de8052229..016cb34bb 100644 --- a/lib/l10n/app_zh_Hant.arb +++ b/lib/l10n/app_zh_Hant.arb @@ -1532,5 +1532,9 @@ "videoRepeatActionSetStart": "設置起點", "@videoRepeatActionSetStart": {}, "videoRepeatActionSetEnd": "設置終點", - "@videoRepeatActionSetEnd": {} + "@videoRepeatActionSetEnd": {}, + "renameProcessorHash": "雜湊", + "@renameProcessorHash": {}, + "settingsForceWesternArabicNumeralsTile": "強制使用阿拉伯數字", + "@settingsForceWesternArabicNumeralsTile": {} } From 45bc2e222d50f7d10b4e951756c14486a33ef2aa Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 9 May 2024 12:41:28 +0200 Subject: [PATCH 04/34] l10n --- .../android/fa/images/phoneScreenshots/1.png | Bin 284981 -> 285549 bytes .../android/fa/images/phoneScreenshots/2.png | Bin 506569 -> 506569 bytes .../android/fa/images/phoneScreenshots/3.png | Bin 193610 -> 193427 bytes .../android/fa/images/phoneScreenshots/4.png | Bin 122371 -> 122188 bytes .../android/fa/images/phoneScreenshots/5.png | Bin 74059 -> 72644 bytes .../android/fa/images/phoneScreenshots/6.png | Bin 329748 -> 329759 bytes .../android/fa/images/phoneScreenshots/7.png | Bin 340977 -> 340975 bytes lib/model/app/contributors.dart | 3 +++ 8 files changed, 3 insertions(+) diff --git a/fastlane/metadata/android/fa/images/phoneScreenshots/1.png b/fastlane/metadata/android/fa/images/phoneScreenshots/1.png index 0e854daa6c2a45f718ad3d97cf99a235962df033..69d9359e8d38db10f8bed057fa15c0df2d604f9f 100644 GIT binary patch delta 277330 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

XB7L1)CJ1hZYGQ>BuwYV*Fs!0}U5 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

0h+? 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 Sw=z9?_|%nklqwZ0!~YLO<^jzO;0MfOL$2bPSEs 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

N2_Qr@3Y}@bS{@(@X(TR{^ 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�S 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 delta 184898 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�DC}$zwMqADwy|F(;ZP6k?Dt?m;(mGq?yQY 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 delta 95288 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

A@kh+RE&a1zJ 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 literal 74059 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�#3%TuObkOm##dltmJfLADeiyhE^fc)J49&{C6rsWLqj7yL|ZRV8Imqu*(`8yW)~o>Eo>0wYOSgy|+DiiCet$!`m!16<9M^t>plxu;cn_E89Lx zxtBGT$Nvh^UCc!R6vAZ=2`fm_lm|C$;gN^8pmmC|8AfM_Aat34%6ZehQhz|2Wq4MQ zNlj~RnnODtWWs2w<10bPu4B+SX?h@N-ILf?yJ7MBi%P2XjCyxpiz+@i5Rck1ci(w0 zn>Ia2sG#giD)nKOu2|l;K-um%6qfJO)JU-}oe?s$wiim^tJMsw`D{V%DnxRQ|z z-$>)JZxK&Fe&Te4HI&zEV1MuhKMc(|xZ|H8ZaOQ>I^Gs(i<_aivMv>3@{}}kClp0I zZvhfHkg6j5tf+?}b0?c{3z{%p3ZkfwP;j6H?Id&Bs(22paX&I}+^^?J!XO|`GNN{j zF9lK>5Ef76&N~af1T-Y61_4@USUh~sfu_ZDDVu^iu+V4y_Oc^g;eVZ+Oe=N*B9GkY zGY;HPsQfuE;@btn$|BbdS(HVUhA?Zfbmz^qht@FkqBk*r_l>mo?OdeSuEkrFIUIe* z>ll31i)q~WZJJ;GSC_M_C0V4A2$vO>85h+MX_|8#OzgC2L`JFPEYVUWL`sRqppCoO zuXewceB#u~UE-*eZ!3}S^f$OflhDw}~4ODo%7T~2Bjoa=$A*GdMKd3s%S@7o@e_D26Uq*#}`qa=g7VnMXRS`mNlfe=h*} z(XHFr_`pVzIDc{}q(>}Jx{q_$1Bz7S+ISSM;{0- z3QXv~4+;yv|2i%Gw=VK?N-5a4cRyeK%GcPpdpGS?6P+fkT(yd2E0*O48~VfMgpe#O zH2Lel{agP1Ti+mxB8+hhlQn{P{s5)nH4Lu19v#io+JAe`QR8-ey-Frt`{PtEy&mzv zH;@~@206&sBAg0x?lZU43MUz&x5XBU{-_6$dz?hqqAMtZ!tvCLi!I(4LiAbB`IvSc zQlh&R7kQ>cnx-yX)0c#y1Ab!+Ns^Ez8I?-tYM~@q7aXlMxns^*qUCacH7?cI_q;_B z30+G&uYW61L}3*CwCvIkMPx?)cb8HSi(cKbT^l8Q9em<((p@O@`E zOV5Rsjjb#ZlmrX22|@{s$p}Kp=!yzK7255N<9~&%+k#0?k{OMsJXhOXJA^tu21w;(0rbjB=&K!c2rs zd;%HZhY}S?glDM?dCvQ9oK-F)B%PG|?%T+%x7~MNIc&;AFZ~8L5Vc8%*@VGD*K#!_PGRMiCV3S(S}BI9%Et0&fOe3 zILSy@;_;ypdSrm+ckd>hJ(1X6OKE5Y6EFBh!mz}7$<3@?TBkldwwS-9-{DfcdL#f9 zz|?(vF{p_r2HYMP31(*Ixbv<%X)ZMAIe)yIeywpJtfV0DRqkB31XAEBmsJ&bijoh) zWP}4F2<7#gv3(XBu7-f^uj^pD_ty2;cNdM`I2`%AwU+u|jgs#ZsDQKAt>eNAFW`C4 ze;(3PJqO&PF%uk~n&N-|-QTfu*G{Y{A|jkKNsxhVF}(hj1odSsJbv?u#r9fDX@AKo zmb~p3QNqHv{stO{x|V1cP>`UCbYR&7Ls2-6L@&yr0LL7hg`&%E_A=XYOR!taUv>ew zpcjg|427kuj&QhHTn<2{H9`qGQ9=@HTJ4xll+o#=blNF#>Pp)HWV!Rr^E_9$su`0c z#yR+eBnX3^(<_f!D6U0ze`Fts_J6{~#G*x~;E5L}Vf05aP|ylpzPDK9iil_TTuL1= zH*qm)aEyhGH=*0T*j}$tBGyv9`Vzvk*RpW?owOdxQ?kq@ z8RXA7CNW@L3h={c}8TgFybm^skF3ZE>|=)_=siGQ{!)oKYp zpKNiOk|dfoQSKNs$SikyM7YOr+hTIQFIQ@!?b+B1I6WSWweh`^a6Q+11Hy3ZfjeT_wn3w>NkZul2KyO@t~ zKY6%Qy{VS=h zdLA|^Q`OMm_1Yw;&m!seTihj!#e%X2X4<7!>Pf$ReqxronoPOIMQMJ=2n zqp-{Q%U*GrVw@IPmgEbZRQdPxFMvI8widK?M2ya$lQ^m(OWZEU28!AeUFspfk^Wd;DHg|M7k?G+ia6kIYH{HiusyGa z6au8_`67zFju9Xw1M|D7&Fvstx}N$4R}*jnVw|w&_0^c45gApl7WsHu2)DK4dnfgAb|P{pNFcHc`{LciQ1YM zAcSDJaWArcfV8vVc(#0^kUO5-e71|g>Ufeh-{~vM*J`!dvuC#hEDUkfCd-mM zHdCN=hJP^`)))uAnIy#bIZ+q`@7%bmYZ&5>z0S}8#asXvnVro;NX5{=BE(K zcCAs*Qjeled~&^pWq)dyUhf(aY`p`SB{=(5Ihu=}lT_vt zy&Fc=wcrYedI6w0)kFbCz1@lx?%ui%SP3c*r&@%*vhZ#dU!Jc&#rGBTk9GRg+Mp9x z(?#LJ%6tz-M$3$i)fgWiV0fsCrz8u_nAy1wtyY2*0?&78$A%uzqUc(?z1ZC%%uVHs zLVus7+i#f*i4v;oJXGBfK^L#>A~^EOXrgemiTs=@PnlLOc3LTXlQMF63)1tbU-|-M z5Onp|wRrvUQ7V_5PjcumjXO7DwF`K6Y^CE&b*kB$Offz>M7b1VjHP8GvP>f^Bu&la zwic~M#Q3rr?M{Xl8s_%Lq!BDzTcJKwrhhu(K>+@=#OA=KJXb73$C`HH%1BmfKBLP5 zN&}LtWw0h>{%}NlArGd`F+wVV$XuAo%uM7gpIrY+DT2@^?P%sFJD?TOLW=SwK~+&1 z4M;nNWI;2$qy|X|omj$3gw!d^hu82EZ~0|zzx__W@vX0r>4;7X74y9GgX+63F)N!_@ z))EXXBN*R+m(GwLxRYItHl=}4R-QlNs*dH>oz1sO&KG7~3CP0YdIC$p?L4+;Av$hcc7N|3 zD|%L=b%`=UNUYJ=Ze)R5?v#>bS;q8q6VH?QzN0vEnwm7TWT^$4p)*(O0l!yGtrxG| z%OG?~BC=bSvT(dPYuEI}`WDW{;=U65d>!2)>jG;;Fa0?G9^VWA@c=;vXN7B%#dOvI6Ih8%?w_(m_~E^&105_pi|Y08-#aOBKcl7Ij7KT3-3&%Pbd;x~h5Yb3e^LA3DAv8-_1E&*JU(|AxNEF}e5>dbH1^ zd57mO54m>f8TKw+Srtu)rqJ>B6f5cQ+E}f>LD!iIT|r(i!0W|%{nu_7jxVLbjDOjX(o>eL!TQ{H3#;0Nry`0Et=FHoP{jFs<4FQ|XTl^0Nx9mHE-Le7r* z;SPw{opwccwUzcgk$=sHVja8f%{XM=w8{@1j_y2nhjFC>3(W?s6n`snO5k zL}*x63#G+tN!`evF=W~XEd|9OB~2x*g{m^tr9lbRWw5Rmi@sQ@z7eO#c2}Kv_--D7 zMyPJlAhJQaV-V!3!!92tc(by?Ndm@|r+DwFsurZ6wH9GCk8dr| zL(7G0DM{urjpy!rrzDxDnnHcH0`t9fNG-^QlEexINzQ+jSBJ>F<>BoLZ&kF0a}4(q zvaw)x*f88q84MNH8C>NNLqVE^?6amcD5Zk_+k^urg}_-$zM+vCOyw{mi_SnfflMTa z#|JEyo@A7;IBR(GdvEc7`R4zb>Fku&HG$?PJUS5!(t=SjVrzSsi+k6&|L`u;mY{M>LJ+-1aVwtB@X?)4X&2J-+az zKjPf()7-stk6-xQ=eWAD%eN9u_Tn{!l0OpX^$}~!_dfQN| zj$K~XTF&TNLG8Lg@kGI1FS0-Udl&y+_&f92jM0C1gwPse47P2PD2;e{9bsME_XmpB>I8LEvbF7h++7I7iu%p2Ae6xhQJRz<*C589@9Fu&kwNHF}aZA zrD68SaR03e;T36-;p#BB@xmhqkZoz|MN7NzG-XXXlIQ^>smIlDd{~n%Qq0m}mS+er z(3v7nQ_4jHRxlV3nG843D#LikbUJ_K&b>R-cFABk=AZq}f5rX#hy3|p{Sm%(qyvqq zO)!R^Y%wY%Pd|N`Prv*c_wL_kICztT$EOIPDQ7LtDduj0PT`IBUg!OL*J&!l!+(7f z|I*8-U->-QwWp9-imjU;*%(QckZnJMz>+nOG1g$M4IE1OA+GI@d3?BYT`zycKl=CU zuN688=PakkClo~%C*7Np_m}>H?x=A@eB=%T58>(;r=g=#ksg2NJjNQ7(u{{A8dHHYl!x!(OhdkN4Iz^l8UG{BNs^LY zyb7j49^PKVP$f<}h>KnqH{W|?JW+&KgQXr1?*G4UZDT=QF+1qD-SH`Yg>Lk07ZKxw z=!{gmA)kwMGxX8XZ%C$~B_%Os{6*=wQ@dDZNxw~$;^Dwr;#iAS7BE4uvgnd@0?(^O< zDjy@fBfEGNp;S-@1IQvHxv+;TOPYHRgF_KujSVjxX(viYU{wl)mRRSh8-pT9_KdfT zwlailXv8TS`#ICcb0mM7!3Y-979kWOPOt?6FFmgHn3=<-9;Y3?g!;@g90?{nIZXw5 zs%a~Sb%NPZ#q?24mSt>TEEw;n+ijgKs6Kvh`gEzm=?$$+$Y>01LYP&?Bu-0-kJ>aPeS4onT8+Sk8-orcCq-5{u zG2`R{*ZlL`zI}&VcRpaUJ>dTRWA^vADDsp=J!f;VAakDP+#c!1g!0kB3Xfgu^^$yq z8tx-)MPjFc!e@Wmh(~_7OA|k`dtE)J+eZ050%%oqyXUTTlJPfXS#slp>pZw~i>f?f zXZJki;tXdkRb3&xM@1YlP4&vv3Xc+y=P5d>r}9KmqynYD7{}psffA0TQG76an}efM zs^yetpMQb07_5EluAr{`bl2gO{wdzCeU}e^$55=TGcyK>*2Lyj6OB_CX@Wu!H)Ct&04U5%Qe?8Igr`*S)UmmuML}W9uwMJw@3Dy?q{? z4``QjG~Ocz1$uJ>H(#L2k|dFMAu*;?t_01ri%Wm`U|fW0V&kammOM>pOv`Xbvw69o zE=`DKmkP8DtCE9MCI}-zgbq+@i7tX-rCAuPvE&<)B$J$-v?OUtIcphgWDEy7fYOEH z^k|N;ElI05zPq5QTiO!tzda`@6yls=>)eRLYKc-J(2uM~X-R$BfRiW_ygu`dlq8j$ zJ`8_85_XZ1=t#8oD_p2)EK)eOH@CTX@iJvu(KZ$Dzki?U$zyav7&uA`x#hcWeUnSO zS9$uI(eDBR~V>m&2u%+YlY)V;{42v!1B+%{uE&cIOj;Rl+kd4RypO= zp++zm6ac(HL%)o5LE)g>oRCaLln)>O@ZIS_XCsn-ViV~qQV|S+v=9)*2|bhHM?TgD z4eNgzMHcIY_K5=B59^>TOJ4u}54dyZ2D$d!yLFwz2lv?8J;(O;7R%*4bZ1dC(N!%G zJ75o()*!V)%P=HKwPG~L&?*?ot8B;z2Ng&49r8Tm-rYNl3(bWq&mxoj$>O^9YrOM+ z7}t(}@JK&^>Zx;~D|XHXcdQ7LG);{&CUAwjX>Y9TyE{9a-#_BkSeb;zN} zbF^q+Ij?(qSNDFVb=2Nsl*c*2*5X>!-1O+_-^L=^+t#VkS%X@VRM@O6#$hS6k1-L}Yo zHmnX!8wUfP z!4b$BOSU5rT7eExL1zb+qq++DZQ}v$!ZFxM@QLO8wGmf7wuvhp2R9pz?pCyo!+6I; z4R~~8!C;UvDvD5SU4tGd%rYzpQtEzxW%jMZH=5ZZ@Nu^`N0env?HA}YfcGj9G_~d8 zU-X38iHfZO6OYCxq zOA?&^ak62L6A4acNM9jrjkVyc3E2HwC;LNiLN{mXX;^DFzv$>$vj6+WSe&(FdD=52 z@bLci4|x0Sw}J!JFhdE8siw5`kR(ZHnkI%Gx_|&GffN?4!p*N`U@;hLLvW)LEUZA= zhC!zBNFJUU9?dmYI7CyiC>=+C5AQG;4H%!hvZ_7;ymP@(Y*0iY4r?7whjhnQXRXBa zpo9>;xFf6)Di(?uS=s=lmOV(;Q+u;%6uLq9>ooEyu;e0U9u?FFZFiwPgA~e#=uw7uc zAQaB)p2ICfhwb{lla>8$pfho&|J?mNHL@Rq>Mtx*z6Z0TN;PtIkpksoKqn${d*vFl zrNbmb1DA>x$<89nOXWmkrX$9&l`2 z$SEcQX@J^MFD;{qV6v^L=WzPS(o~+dvRLoPMmpj+nsgx9+|8MtR5a0Ts3}{MfoZyFxmSYj}2oJ-l*PnjK;3^o-HZ(3}e$}i71L;6B+)X%b9@0FV;b`$`&DMnt z$`iq}PkoI23+H+DlP~kZ?d$xzFZ??evyxWND9iVPblMsA_b;GTPF+=uHU>yiKKS4^ z=g#di+&ag>$vtF$BB-kpm1=Ss>?q%S^KF`@VPj*5x@owuxq z;9G>yp=k6S?~2R$NN&cy8ai#nHhTT4}V_2;riKYnXB?DR40_FVSItI<2G(;fJXpOLUYH!@;a( zUN%T!u{Fq6GtUfXhYu+>_fcsUZ=8T3-+2Fho_+3Fis7*DAlLCr@4>b$I?-!O%c_&N zHh6D@#NEKt4c&U|jC{u!_T)vucsvQYgXE+-qgECrLyVQR2AwFR%2>=RoM~{TLFyDC z^{QBX_#qX4=p>loM0>u~jzjjH=nDD~t71&VdEO==GU8AD#B3uV`6L9KO>Ts_*-${BxF?8X2&|0pF zW8`3WEQVE~jZ6+1UY{80!c z8yQa2Bx#OmEXy;4N)oJXLq6JAlW!)Jvj&++&R^aj8F)@-B{COec|ubL&aag4%uCx0 zwvRG6sPCeOBb9AG`R)*oGqHYX&s3@}Ftx%t}AvjYhj*ic;&NCio)Mo}| zG`3wUE&|d~g3bif!;(~`Xyx&3=#KKC!YnPW_KdbO>e6yHJwpgVF-maWv3+ivSAXgg zJbU$ds%68a-Dmmq$CrHbo8P3V7G#Ow>T}P3(b~AB^ubmW3)?$8Y;Ejw>Eb2Iy5ivA zm~w8&3mvAqZ30qqdUncWGUA07p2hi^A|IorqBH3D@r5_u0)CYafe!}WE52^`%+)s1 zcdD<5=l0{42q73_IC}Jeo!xDcvC&}!a8u?APE+c-O#EPVE`p#k;53KdQ||5MDpNZ%5+wfry&+5O$60Z&VvVs zJU4f|^r=syvn+^d2w{mGy{&H!SyjxoZMlEv0q4)}F&GX3k6gpGopYfB_XPS=l&bqE zvgoN?2(nc1iBG)5GfzLm+wZ*>dQJs@gEV1lw8_R~LQxcyb3-4L)X>Pd5jSqem>sOpCMH>X^G{meG`hNgYgGJRCyjbM7eLZyoPdPX{eVpOu6SC}$* zACxBs(Q4X(XZQJn#j#~Hccg{J8BdWUv~$PFbVgMfl03oJj;eJeN|0zxRkeYh<~+-3 zLwVLkO_|;Kj6ao9scp}{5G?B%|HL2|7QlnoWW>7k!3t{&{n#t)Y@O%E%^PfQ?Vyw-9}Fn69N#SXD36X_;~ddX!Up4+ z4#QsE(LBNNj77N{E_7Xg)SX**xcT;X`PlPU5Q8mrTHr=N=8(l=0mEoiA3a_{<6RQG3!>+%@*eAL>{>#QsLXWWg2n~II73raIMb38L+0}Z zll?97EX7#E!Q)3*V@cA`lAN8Mad>#dcs!;U6#dureUT8{c>flE-}% zMrs|w$Z!mn^OB~nakj-6NmVz@PEQ$bY{yCdss-`_p1XF9|KY#;Z}`Gr{00BN-~AWl zt>Mb0%ZvvjHpUaC(=$#_PcWuIsq}~FV}JX(74dyLv-Nc$NB7&#v8(5FbmcVA>DCK* zU-Ly|A;d**jk6km8pTkwe4kL#!5N|#DhMy0fE>CqCY3}f9aMKBLJHnuYD-nMG_9lY zmQ*XOH7rX*w|$pVU^@iNhDLFPu{`mmK&tGAGZ!qED;31bUJxBY2V>t`@ z`KqbVK5%#Eiz*t1OExa#$YG1YqLgGlZJ|9@|trB`54&{RGIgFSMZuuZb$UZItN7O7U7Zj+-CcZi>9`no#J1DKAxONpU z94My^A`8+-eHt!u3UST!D!SkMb=op`qi)V!S(lOOvzLV zs@ar8Cj9#DdGf)aFT4UlRW*F$+u!2f{LvqO@}1Ye%VaQOYqS|+oE8i2-hasP^pvWu zf*2`l`N_(zk4%j!1T$V6`qgykD8; z^j&dW2xO#Mb?$fq(OF60BSXp?#~>AK4O5(LQ8J;bEk|cIEF;cQH?bn{uD^`J>BF4n4ZU+$iViy=8N~yT$_`cve??Y2#y8&$M zdb{DI{81z7A1b_XaC8^H+`v1}*7iQX_ILj=Cr9`B%P;<0mUV-dFk38Xo3IrT$}`wX z&>MoXY*|h%&6%V*3vudME-)>ePUn<=)0U>LP+16$e0b}m2i}KUn(>~Xn(N?FCN$`2sb#KDaPZW&hREYl1&li<>%6-kjX zo7N~TnVidUjb$;ll(RO3?+w#fgj=-B@J8WNhgTKFMB$aeN{3G+?b2c!s26j8{^T$I zEn4M#_xrE&xzGI++gm%_fA|3BJvnCw7q2%7Vd&!+U_xSF2zRSjV$frK}3EHM6 zFETbaE-@I4`1p&@^YH#XRF)&8q%2FU6R0G`xfUhB*%l!!Nusgd;+@5YaX3Pn;NJ>h zJl^V;($u%xpPlJ}*hq6k|1QYvPdRCwqj6 z{hD*|+O|5VaJo5K7%cgJ9=8S0s&Mu*Q;6;dtKOIn7hb1Tbw7#2s;*1!`&zMj>Pi{M z8blEm)k}LRFI^tcwhPXk+u;7ACEtI?FdC2f`Wuf~R-Ij`=)YfQ>fW<hcPV2dgf( ze?PHO&-I*SvEtqKFkEjAv`VEAu}bzZ1FQR@E4|RT0O2_ihVrHJU46*C=!m^lF zI0H2eN(z!9A;|?^Iiw7e;kGhtZ;#Pw146JoYDqK6g=+&WEwhJ)#oQykqu9xjd2~1u z9%BqzB{bHtcw7d5!nF#YPY4)oCG1`uQZ^;|NV8mcik%_0vKSvk4TH^;a?ytFSBp6H zmKftmQjN;NON&SpJ3G4wlQEqgp+rJ4$|#D0&B+b|$ty3v#0$?|Wq)sMC@?%sdIm%siErn4zc-SFMl|CnF@m72j|hsk(@gTrHgBnk7=nz|L#=L~gIlV?f1 zw89{Q@}u9JNs_R8ZjYz7Bv&u&uzlr4keV*9t5YV?IV_1zPP-Z&biZwlRqmjooKX0cqdyS2-p$QTU^MuURQjS2IAa)uBNYg>|3v$-+hbQa8_K626R zu=j3T+zBMQf*57c9uYhdy1`rgS!d}O;3NWWO6S|qmE7LGeC?X(V$kDjiO&3|+cotl za^HOi0mEvL*_EP)$1MkkX9#a8u2;;LEk|b-4o+#Uicw0PXgze`)(44h_xiyUD0=qx zLXm!d4AvL7_2i9}Ls|T!eb+1d*dQeZN~yRbqwnBdgc_vt2d?NTYE_kk)H zhs_^;JlXL^yyNufIDpjRdkl&(JKOs__xvY${OB%s?%$$yZRiA~3^?hDVeu%TsvPB^ zC08kpD5;iBm{vxob_ie2IZ!geiI&BzB~3MdS)O2;hJ27v*A3RTY+o26wZ%Hea?#K> z5*uTOma~?&POwePfU+=sFvnR~DucDYk7M=->Z)b1k#c%eqjHHZplvMDE6xrZvMgaV zDOk*!K$}Z6-i1}#sW!NaH4>e8OxvL90nJp>)HN3_?(kc`_FMeJ-~4Tc#h9jP8IOj4 zC?(n696x!$6HV2YJUqP1_GF)?HhggN2LHR?d5xd?)T{i_pZpbH_{+aUR#OJUgtqjY z9M2-ntHaxV!bi8=(;AtCft~k}q0r~1bvI0RvqWjBc=E=R67oTT6fhp8+b%r?l38^xYOh@vo);0zsX2?kWb5c+`k8KUJvr`W4-(XP`Y^I7=p1VNnf{NaEX5`)4;yqd^ zhNB@u!q(OXd6osLSj4uy6gXppJ6?3T@&txVcs!(zPZdRG{*=n7vf+$)3dZtYohs2%%ZJ>$*$1|?IDXEoEas?%rS2n?!@ zeM2mCBGwMDu}kj?a%@B*#PA`1vG{uU2AwfZ*WvcYKGOHtwU9FSgh+|fic}}7&ew;c zZ=EA_Xn}nbU>DJE3M4WN(R~Mz_$MtuK3sUi)K}Ab!D3NzdwG+^Y0Y!bzr^Q0|0~?S z@ix{-ib27su+mba{0wg zoUK?+Ey4*V+rccxwUFmSl(w{{CLc=%8$tY_WrA5YXjCX@Wk{Q7Dic<$q;n_JoIENK zk0nwmcDFOivzpmqgHpjK*R~#&OU81@CqMZa8sG5f@jW~aU1;WuITC@XJo9PA{PBGx znl#PH(;NoPOc@S;iXW1!dJhLjC)|7RkOz++a5g{V@bHAuc+9+9FdF6TZtajJ z348myjN26JYCMu#ckVG;ESQYOeG&YL>TWD7*2Ana42?niF8XK9w>GMNI>)Z{jqhp) zEf^F9!_kn@WCMTiw!f1DqahIfJG{7~dg499qTr<$p67q{mN(yf z5APkf?>!(*5}vw$aEb9?#C$&IY+mx<(Gh#Q+hj$?NA7t=$OcnAGohoEb^k_$AQt0Q z5%N9#t$QKSsrov=o8Ye3Ro;l9D*!O z`zWA5j|1mjPixaE#OnCYH^T?!i}YdT^giVC1&E>ZVCb-aT-FvIRtrdfJ%`=bDzGxx zJ}RluQU%(Y3dh05q+=n22*!J&$$qfC4Ld`Dir?G!i`Ng|vQM%a5DZ7VOwMoNjb}bP zBhwjLW$bM4arf2-Jpb&c`1zmzEdR^@^8e=j>+fPj5Leh1q|&6Rr)ip?u}>ti5kN*( zy;M--8oM-q6j_GR4f#kTvYL8c(=?hiP01#b>Ei}WFgI?O4wPl%LQb|N&{|VX4by`; z85u$cg`K41(}gc96M-(Eni`rJ3`RKz@0Ya3P~<~&8cc8ICk^$i#T(1UXp8*|7jcbZ zHaiQF=4wGPN?9D2m^3&srGtd=WX$&V79ZUFfdBP>_fPrR&wh?qUw)Y)&*F{fna`Kp zdGLs@e&gGmo=zF0V^TdJ9a%p8%BPSD>bk{Q%V&S;RbGANV|?K+|C&WL=jh~+s@{7Zig*NN$BNLX!$_E#4SJl;X}7a~6w5;PGnBWHcln3`44LWFQ!8v1oLh zMweAhT{SdKLz-qG2s2I5i3XX_HYJT&qLYLqNzrMx^4VR%W5dW8=j z6DEFtgvNRoyo9}5JKC#)HlHszJUZs)-Mc7%CDBT=HQppqnn9j(VRxUMogM!8FTTjz z?|#4wuhnFKyUlX{2g=@xiL)fgT;IAFe9a{1x~vcWjq7_RH;o;(P~8t^VS-Z>lSZk=F%$&2{iUED=D z+UO_H4^viiID`;fz4A1#e&S`W-@J`?kSUEoQPnL+r>88-ii6`rlGKwA*5ivl;+gH} zbu_s-eDkgVg5~Jw5G4h}LdUf4@EV;lj?&TG+(&v@Up(Wyg2?3P zly4pXH?k9OHmcP+xM*#t(GMM0L%Hzh;W#y#?X?&9-WzZ5)*El~^fOm^`|a0%an6QJ%&KLOXC$en zEGx8DXeq<$q{FmtHmga~K+9OpEY4fnQ^DcwigqDboV1uyFnv^E+kg+Hxx`pYwX7*; zO-QJ%!d6x5K%CF>jAdgYFE89siBc%3P+HNpmZr576UA^RWV<;G*&snn&FsK&`SL|} zch7O*!g=oBzsG2QG-kOBX5GVL%u6qPiVGJnF<+i?{ew5iGR@_S&v5?SWs1Ro=dZoU zFduOJ#!c=&dcdb%euYG9E?+!HmSx<#|A^h4Esmxqj79~c;e?~(W4`m|w@EU^{f9?f zxqOLpySx1IFMgIhOX13;^@a2&q#Lc>qH7(9wI)oieP@4v7;oMV^z4c+-A%W;bG-9` zEns~xFmVoRO`OU*yfa9dA%vrD%7869ST2^-Wr$PqQqeSqTtK2F4VGnD;k-j>6^*0= zo1nFhvaXpP9vz->>GCKF zDBPMFFLXkGE>g;zv$!_wK%`o2p#L+;rMil_m=I=O|~{hK~CJte(3bk%C4v5<_cn08_7nFR{r zY_{yP3{Os)IN%adSQDX-PJ!0365?+HX1(rBOn+^63bWNnF3{tGH$zM#@gDEPH6*0y zdGOW+SV6}CgbuFrU4n`Ccni)(4+_yGoBXK48$W<;YpU5~MPgIM_nA0b9-D7Q)(~!xvFPYU0G!HI5=n$xPjhl!GrQyAtkHfTF;%Vs|^#qb?)`mfv z@a$b2vj5D8@gXPE6SPunZ*B4SfAcpm zE=1Ii#u@Lv`!L+>q%{MtZn#MSzkTkHjvw?G#lam?W{Lc5d zckdpXlP#`2bCnzS-(z~V;LpGKC4S-apX1`W{V>h{kM{6ArWvlgu;8r*X#sn)YxaSE zE73%}1!KozV;qmOmZs?sGAc=8#Ed{ieSe}8q|#U$3FnbPk!VSx!q!h~73@T<34^7` zFEz#lQhO41Gqtt76PR-bW7^nd1S{GkiF$pdVx)JJx&u;bWFly6cwHAe)YU>G`tMdZ z4c5l4-WhP|s_By=7J*P?f{HD4|Do`I_LI8)$SW!MmA~@~oZH*y|N4Lbe{lW%n>>H* z8s&J%$=Q^$tk~KZlBEf?{YjVA)zA!KBd{2{JJI_sxZX>-7d3QNWU^Bzc7OzZ=ie93 zzCX6HTkHmNE1b7yORP8pPkzSuoKC9Sb*drOJ;=s=3nUKjYtlqfC(rV{}--i@|DI**b86Xe|-U{kATszj< zP=KWXQiKSzfB>)io@VA;RAP#C{_~G4yuselNuuYL(AhiS~NCni(K(w#x7T1I!1X^(NsKg>LtplrBE*eIo z4K9D|8QyyHZO+c#rEV&$wb<5?CMmnSyHridd)MFPQ=j@Q*RNma)t5eh#opEhoD+Qg z8{g#fpZhGYyz~+q;~~3S+sqeB%Chc1pVo?V`+L0c*86<@8{Z}$XkNJXBA1eIhRoWP479t!qS{KXtYTVCp0+pS&%^q)hY3m6gX>wQMnK(oglsIF>2>sKaCC(piro0r)NC8 zcaO#FjC*(Parx;(b}u{?Iv)YHaU30;VA>XIY8nIcrQq=JkgffHOQc!RAJ27f-b8E8 zpWEfNPrkzT#s-fcA98$h%*oj)MV7NH8w8r2jg2s9`bo}hx1I0LQ;e4v0V7@iX}|p! zBG6MJ-Esvft*Bmtl{?>hazk$q+4(v=f$_#joL=n~hkj9<(1ofB1RCrI1r!HHnvPJ78q=&Z+-bZ>D4wQyIKci-XUl{F+Pp=pC|!Mb4R?;=&R&o=zfV^w(Lswn#t z2w9dg9_4Irj&R;GJv&1PNvZ>$;!KP6COEHa&_29rYg`QV{r&2 zSe`jdW5N(lNJg6zPL7UQ%v$`H262=70ZpdGz>*KmW_W;@sXoTU(pVm&;&hc{JsZ{@q^y!64|Bmp*~kDK~E2 z<#f7Wv4E4~Q|hwfwO3yaTNc9V-ZX944gANbx&;4$M~@y-PCaMGIn!Ci3;8yK$yVR( zc9A%tjCP$lHg;Lb5s1cGK%XK9?fwn0n7w0O8S6gd*RKyyEt-HICW5q!^CKquDgx$D1JJw^?gf z3ykYgxPGvhrkcSZqnc|5MM0hwYdZzOV!q_{?|+|1_wQh1K<4~dB2B~og)8iy%lpME ze%u~^8+Iv0{Wu{W4nEoN<7v!tf0#?FPEQ)hG8cfvom@WzWpNkN_{ zRGu*zj~EP68r!g}YO1Cs%Tv-+V{8?+h^-CQZZZ^VrE`uRKg8HJ*e*sld}~AgnNZ<> zplFqZu7yAg+uS;b7lxywN7Qp4JbXo%V#`5@^p*~Aj&!I&cx)5CzVQ}YhaxVOM@xxQ zlBNz@0+9&vK}ubQcx@#ToDHsN#yFmS`Wk1`IYm)0Jv}B7nn6B56q@m5f=+TKlMzSL zQ~vl*{*0z=sGF9>a>=C&=XmDnE96;!L0vce@fZG_&B=&QeEcQec=K((`JL~wEYEoG z;4zcQ7T2y_qWPTOwCzWC_8Y7x98gmgr(Q6#2+Lwg?s z3Pr&4oN`fes<2M<&i%%QVk~7aN4I{(MOU(m-3F;t)XfJ9QqbTlq}Kfw*m;XJ4i|Z; zp6Dpnm8$ril~xqPG5K)8cykM#C#%9MU^vYA_{U%5&ZCD|Ysgd0-YDVamtSIYYb#)X zQOFPuWq56eU^1D2^t|)V`&>MKe;#8jb#0iW9wcDxoY=t#!mX4kki)F{l?Fy}@@A^b1j#yP`dPSsILyfy!GZ}V8NH#5G^JH)1YY#)(FxxL#%&R*LmiOh~Y%bEn6ODt>Ufrt zx@=IXz+tJ|8q*l0YDtrSF!9w|ljdP1bSB_~Nv`|#wW%Dgqg2L|5(FI}(_lU48$;_H zxlHf`|5HIANVlz}s)8}e+i$;3y=<7BO%Vw8b}sO#Prt@nZ@$Uy?mn-*_IZ|7$=$nm zP%@*cD=wVh=j?RGxxHO}`4>OWa#^xD8Ixx@9>LD`7Qgn(zr-_tSFZ7;uY8HTD3C(& z!HpYXxF|hZ>$Mv#ZuMl>&HcxFD5;oiZn3|eF)1>(_s%1Az|L0=`X8#eL@8~24HrM5 zjRBRNt)zF3ED2a{l5|M`0e8!af~Ga>ZB8Ptr)W%z^xaKK7?gQ|(itiVj#c?!fKGF~ z3}#CRMG~XAyRD~x)EaMEgm-LAMr?0QIDc*jsTAH>R4lT?T=U#hdsK}9XJbrN{z4#Aq5*-TZ|^#IA<9a3A>v)TRS@en|40JY+Y@N-T^|OmEx6` zJ^@D1wk_k~h(srGm}JQ^9kRoI!lLWF?V*K^BGuDIeMcdG>;A-oSF!taYh^P2BZ$_J zT?~%z4cHiHy*fr8NONwU$_H6<)}mm+QTU zIMjkJAtVYNWKTU{MVgJBawiOlL%#quL1*OeeGIrH4kn%N3o%$)6Id$&JJzvbu>FN& zjg6dR*ZT#32eX{G+j0)qJH7p=!b{|G%7BU0ZRln_4vV8{Ta?l)<~2$yto1Zai*0QG zU9EK-9~}l2nho%Rj<}6VWbgd$@#s_`Rk$XMGfbzCNb_L+TnrQ3!UW}%4s?^I3!-}t@KxYZV;Ra=YHOJ$bY;5q{vmfK#ci!Xnt(%m~ z1!Hu06-m$st;0{OK3|4Cf6WfAIzW@{3>Lwa>iDCqMBqv{q|3 z-G3Z^h@n5P5C=wKaq0#Y-FCDKJnfsGh==xF@ahf?vR>=fXh(uH%Td;Z8%72EY?|ni)}-Jc5RDoEh-Jqvr#=|V=?YD`o=n% zHqyyr!Sem#a(xpbgy8d^{VYXV@TISOnO9zVk)p`?t1o|@x^5^2Ir(7lL{R77{#Y5) zbkqGntLh?%B9`gpij}e+WzPzlkR80xo!7pF^s6D->W6(X7rtAtSIhy~(-B3S_pPvh z=3uWFIkZaPOc+jfU1TWGzHdUT3xnXv#(*qQ%oZgsCP}85jv|SUkrU0ZgbMHBd@uIw zxF5bVrSLI>I*Ko(Bc4--RGrOdup@AtnUZVhVxhbjIM+tZH$1m9T<_QqF4AiMc2c&J?Lb%bS6gY2a8`GZ{8*e~=4=l@?B2O9QDM*18A+^^lht`rjF9K!P5BS4B{C$MiROOtaNEwee&`CjE*Zk5i{St4!^)|DA*_?m& zPyP`vzw`p5VU7?xA3kj1dl|!1moM9 zXR|XdUpmjve)cu?_jUq(>Ob+r;c$_g>RcDKvu18BR!~EKU&TM~?$pqsb^?MRlu;@` z2J`uxJj=+_5VvlPVYZkDI-V4N42MHT<1tAhNYjM6uKU;Td@;JAO{P+$4vTQswQzVmV>VxKZg(4zX2b?%wcYN9FxK_o&ABdy zW>rRE#fp$BVAWLbl|M&pyY0@$m^Kr!!{r zIq6{h6Ajmd2+&}+XvVM6cdwm@pzFfC2n>;qgV52%9HHx$tX`)#g%MqXLx;1nD!|>f z6&<=n+_iNsn%%$a|(+CXHkIj0@K>)pP)d7;riD0 zC~&H+iwy;+uDkD}tz@5nG2}Z;se6hHZDlCjGQ_=$7>pF9!EGBYDZ9Kn89H_EedKxv zmWA&G9bM2u3_Jw-^)|AAA0JF6{5IySK$J z{ru+{4MV2da8Rs&ZOQ)AJ%kV>I?5`$Z(swtzAHK*TPv1~^(|zl-N)mkXEr-yel~@A z$-$AM6lf3DFS#_aRXA_Px6EIe5mL}pCE!WZ1n)hIs^Q*$!7){Ba6+-azZ>a3uHPAV z-Qn5k8OO)R__pHo^px4@30wIHk3#mc-G)2@RU*O&9X9J7J{BnGy4bkl#m+oQ6Pl=O zga8YOh*|fTZ0wMi%aX++W+4i|OQt7_kdG({iOfEUoC>#E82auzbiufl|FDk(wGIyV z@pDN+x0|BVb~!*E-LhqEP!Eat{?11%R|E~X3vw8ogKFOPAiuOL zwnb8ZD7MC9EUES##lBt#uP=yrHlK3=ao-< zjPJevCU3s;F8}Da{~ntgV-g(_71q45`WpA2tndO#hPWJO4c@d7PVaF>xTLq(q{y-t`M51on#73Bt8>)JiE8 zZEGm2D&p^&Y*0i6Q&cC3;Oi=45Mf7MN>U9%;eCVk!SxOix(yq*u2o~hjIXJrO; zs%9}?vN;};KJ^rp5gdQiqT83kkO$V)8AT@#5C1jR(Z--!fkOCTEvmI3)iPq)L=Rbu z6fyFskGom18P8fp)_ZEtJC&*dh%zapB?EX8tpOxX5YbnuEFd76g#iE3>xgkwL z*sgP-adTY_mA+@uG*wG0JUWpvwS2{YH}5`mhzbe?wuf8-9ukBw9UCGpO2H~Mc)@sr z|Fp3N1ZdLGId?^yXqw|)>lzZy$$z`jquiwDZJrg%8Lp47R;Atc;guqV|3GC zogvL~oNsA;6An5aZ+zV9N8HtWl1x#IQf4PhoN?$xQ&%loD$+#Zg{7%lybt?-!K!R1 z1{q4rK;JNdGl>;6i&*rf!g`N0KFR_E=$@u3bRn&vF$Se2gIr@xJSaA(jk@m5c~DwJ zYs-KE4)UB!PhaEj{lkCEw_pDOj}9O5OF#E>WT{4}pzDA8t#=s=3a&i!^pCs+@+{@z z`Mv)Cy$`y6B?a%_yoFNo2~osd!U~36Yr@t9eVfw zLQ39#`)!U69`c#jK1(_n^35;4%k<E$18A2(DnPyGXAfzE53`vqS1Rx3#w|n7uBsxL(Fc21h5mR$okfs`~ z(})pzlnnC(74djPOtRkBuX-wsg$#Ys0?} z6<+T>JKKBwqyORm#J9iv=lt~-|ClsW7+WHBf>tTkSq8%qZQGLN1$9+X&KAK9-av~b zh?fP+c@RDbuW3t%HI~tSMv_XlMmdk}p0PYB12$u!Tm)ls56DzuO~7MPvwkNck)^avql4k|hING|#>a>p&QYuEX zSQ|fARMJI%U|Yt)nN%_aO$r$cs(}bKK)@yYAxxs;&MzhpcSQWS4V7!Otq(&};a9=d z<_42-a491#czibI?DV5l-j0jn!T?zWVM@1q5mCk}MeP3LW#3tzHm%{{af6Z)V+Dgj z5{`ZAV!TomQS=N2zYg58>gv}L#d`Q+GxW zvP?1=D7+Ii#!*%w_%xL8(419KiRz==r?Zd@Oa{N&u|tfzml22Wc5y^WF%kQYMR!d; z8d=Y57Dkv}f_Ys5K=>$2H?T;bi^nD86F`pe7@Zt{(9B$&iu z8pr;B?j=xyVz|Y4vcbbgcX;uImwEi~HgCTE9qMu!25rPJLE|x%jV?hB*ILp-G2G0U zPnU>=ATLtNQxgYn5#+Z%n7L?!6rExvP7FKm%eaDSElG5^SUg0SL z^4tqA@x~9nk896RiR#}|NWu2j7Mt6<=xh*wT{=w2`UX{5pYB!w5p zMh>a8oSmJ}wBcgXX@OJ;LM14j^#h8IS`&l~65~7%A3fse_=vO9lfcV`zC&r+mex3b z8e=#)J0;g5$c1%6Ydp)^kQ5=*(pF7~d>M|g)=m`XWOvXbJrKrk^x-5f@Y17hLPhGd9*?_9Gly!p^jzuc4NSuI0ZI~`V z3Z1ina#_-}mexAz#xP%$q-6d1YFo#D^zJnzN8C6x172H}47OQh-#n4onq=D=Iv{ zH7+ztebM}|&+m$U*E3w=|99esHC{~r^KcY8+sbfNDXFluD5c2q9BUl&+Ow#C9L_72 zRYP5yH~Zqxh<`Y4pJ`c?GyQf>?`g5Z-04#qT6VG!_!z z0#0v?#k2-vLK+M`gwl-)W5|$;1O!K9G;|5nkv!2^ef&+sH7Q_okn^iQ|BHO(D}T!E zyVt3OqbyI^*t*1T{>DF~G%dG(Z{OsTFMpD6e!bxxrI8A6F9A4|@ua(vl=mB#9!=Qk?fJ78P1S z)3j`E=2+K619VSo8V(K~kmnir0YW&GlC-rUO%$L0^lQBKGr!3DH}CL&4}R;nxbn=? z93G$WXJ7pHoIHNOqr3N6E@t6EN-`Q#^Np`R=EjYi{QbZG_jvWym&mdweHET0OGn)3OX>zxk|R`x zae~HLtQSGSBqgmeES3#_#dwF?ckYp;nw_nXLM>$QZV-5qB;oG;hqUE_PkiDPw9XLH zv$dU~w5B!=)7CtiJ!W%b8}BVz1uy0CL@^j-ND*ABwuD3pfmVUKQxt*Ydv-PposN(= zFDRE4j*yeJwY?1@n2XPs4RvEUSyWL;7g8-|4^O#s^m>R`mq9dtp|!>|E#7<1&d%`O zb2zKH`FM^>f>(p}P?i<5`GUHw(JBz_ZCi8W#!d1p-I7O_ZoeA=#|2|_==63T?lHtXB2USb}u$|t&q z9*H1`4TxsztHmLIh?!MfXgVf~cflQSd1iy;)`PKv#`z#*a1k)@ok$_hXpm^-kSYc; z_zpfGWTavHVsZ zF5~egySsbX#!*)-GEwaAoo6;XwdrU%tq@@4U@leevH>&SyMx>2ipr3Hvkzg4P-yJ-h(#KoGyr z@BiNKbNz!4__?3^9G5R%h!^ye2RKmt!T`d$Q1t&Mre@bEx7J}SVIgv!)_GbR{;j>o zd_=mZC*;ft3(i@xJZCXqU}iIfRD5vzfP<6ZD-jB%LM92Df7^T1RZZIjI@n}5;oR;e z@@#`)mhjuZ`RkN*&HFds;|D)@3ugkW#2CY(tZ^uOR1T$SLS5CI93J!F{%y)?$>pc6 zaCG>HmtOoh(4x|m(Z)u&xLv?=WgMn;RKakUghdslabD7z8ED9plq5@O+qPHa=_L3- zBxxW!S!<(Ue?^APpAB438cSK0Q7{p96iwrp)w39^C_{mFfrgl6Mel;Aa7eAFn>xB! zMXXi$^_m+x(N&r1x9_VVoQSg5pJXr7-8J+~fUb&rVd=bcRaEymCxW?*7O`jq#tFTc zpo{N`Y^9#N+r5)tGkWi<{S(Zbj>r+3+{hE}9BJclf32fW$|#}`YrBLF8x}$%Fwx?5 zJvlkB5*%S;B%LD>qUZ1i4_tw8vFwYUw%fxUco8XHzWWLR!;OnVSSrHcz8jqO#JtXE zK2p=1vk__t=hHez&`WgYI}R5;%YSs?6@t2{__Hs4g?ra;aCmq?rZQ?3IJ1u*-Q-{Y z>wg{$e`Jj3JKz0lmgS5WKlVwIB%!Waj*cF(m@g;>10dmNKKJWff9u1e8#)dXw!BJ9oVBD$Lfy2qt?4J9 zbs1D~$S_FrE|}IRC9y)WyMK;np1Q!NUik#yfBo+F$Rs?v{Q*NQNd`s07}LC`jD?HF z;atnf^pLN9`Agiqaf4s|)nDP&S3g0XrFajmHJmM$I1i&dU#Zd73UlxC+5OiOi>{}& zP#aHaEUgLNP+bvkStG)KgvzUxqDXRlc|w+@_+b$o-{yvv4D0K-EegIC!i7nBxG)1j ze@98rc$hL8Bs{u(8)F)f1)uu(OFVONpR=jP*tcybUy;&V*a4;BKX~ z?z7Q^Qme6#P<;^({tu=vE&;<0+fJ=De`p=mQ_-c0PGAxtG#C6dyz{6;fwy63Ck5|b zzsc6lCC=~fh3>4sqdTU*mv#t(v55KKp+&<#e>qOc}28@4i1&(xS5uKi|qm%Vq+-_Lc zi&G+V!x1^(;mb=II$SSAkPFw{JJaFdgxDbl6rHlsByXUB(B<(%!k zZI;U=PBaXL1=G{}jE3j9c=;;xf8`0Ao7>d&lDe)qo1KM}fjA;{&SOomN(`NZi}ak% z|4T2a>( zv$Gk?WyS4Bk6D&Wrt>p|l;ru4lamu3+`C0y4A~fOu(Pwng-e&fd&;s2$3BU;rU-0+ z?pm@YbSY^TCiVg!zgyUn>O|w>0MAE~d{}TiNuqJagh8D5w5=sge*;xX>o6N=8iVl$ z)4B+aND!KL-hZEGu6>OC-5vV8x_Do$1#;e@9uBw2h%Pf%fL33as}}=-k%UFlO0D_4vSq5i3kJ{3bp(a&iN+ zqys%%&psCY=L*tf;eu6W*A;iylkd#YeYcqS{<{YoND<9*d^jP2@6Z?HA7#JM7hWL* z)6)~)x&D2$Zt%)tTOYa~7xm!YaC&%%v5w(phO;G2b4b3we@|7E+ zZgAthw=i|U!$hLP3KIVfvF)q8EMoq=*WK1bV67oZf@!&yimGi;T9Flse4uHKB^#tj zA*rj-eoSb8zlM|uQ{L}TX=b^T@8 z@aWWmOc@OaaX=#RJ``T>LsUoL+Y@jZRoSq;ImW8M zoi&+L${-&Ly|Nnne37r4{^4}wk<;yjBRw5;;Wjvs=0alCa1@zYz>Co zx^tfg_AVDLUtn)_ps6MekpoP}LP}WytaZX9GQ` zjfyxge#Es-*1F`u(67wqruB1JI2sq2R0!(#?T%F*NdJp00Ps3K=k8|HP* zod@?B4uha1OA3xoj=6RBCT-jD;&acjy|qJG8S1*?`rF^)-0luV@frumr+_0LZql~b zegYCp@Z4S1H{W+;&U-wTB2Pd=Z7fw~kOae^e-5dYA{cr%bRwF76ZEF#eJ9-&&iLOo z_}8zQ%}7@6VXH~ws)Lp?@OZt0B-0G@0^2%N>d5fabxl(_R1{zkcL5y@a1}KadAD&D z@ZN?FGY<4SDSR7U!+L65gd;jD$Q6VwV)x#CC!(iE*G;c8@5A47zQcNbkM)M))iE&W zf3xI%JdamEUDteY{RRVT@!n9?b%+D4S#TdUZ;u))Ej zdq`){iNXp=l8o8i-RAMbThwLA`ybrqa&w-o-ODJgX&O(W5|SjG*S2k$PN$rloCUuH zYuMaQ*(iocFEOpBUd-4XN)A*oe>_Tn*!Pyoi zz?jfV48{|hw#6yOygZ{S7o@sChzu_zlfi&2NvKT2qFOS{hd9?V+*B-@If)dsRm$wF zrAV@n2`9oL-?TO5$&{*TSkx7D)iB5hG^L`PPr32#d%;82wY>lEK5t$Be}MD5TPUU2 zC^k8o9&`KgU97QOzOc*w_IbQbY3q{B?m47Xg=Ez$%ZYawC)Y4pnugImk#$w}-ERlH?h`PbQo_Kkatdee;v(?jus}mLP$@4487|bcoFQ!=p-b;FsSSN!|$zI#Wc|s z+J30kB_a!?43J092_w9x^+ZFcF4k$an}};%q?XY`5?*+OTVc}Pf|ItRQ~Zd+3o$`J zaW-AzTgf0TFxr6hWN8wdorL7#)92VYSKz$i`;E3$LEiGSnGOf+tGB+tV~JMoc+ChtlbKjf2dGYZRjE<8)Fi!NRu2P z731-ktx3-9qcfIegBOzde988n1jp==gxjSEDZb9&@xbV|oLD6Pd<%W^v9 ztSUL3%~4XawXsQ_Dynk9{jCiso=nSfid0i&G&n9AD`Dl zxw0=8-Cym7{A=&p72?R8kR6v;_T1JU8SWA>x+zyIutLRXA1y<3D1!vMHD(GY4OMaQgn2&&Jl^wok}4)upt~xv07g`)BJvMSgW1R zui~Cuf9z_zVjSE-BNZ;rtUmmB(w)qMa1vn^qijg36|=>h)`W{|G#F6U4due%PfCL{?#hmYd?`!zxnCatt%ubFeCc7avDNeivp0>+&`iPG}4A*!R(|N;# z<0ZH5+>cI78ZQKSKIGEVSGj%XCT(4!lay4aY;Nvw`Qp=@93C(l4e>&grU}-W=nNHL z7waTagbDBV#*i02evWxn1ty0`Ii1dfe*(x!hQkbNJ#W0epeTmy?ryQOvl(nPi#*Z~ zGm@+4a8*N53`x>F4r$_+)q4)^-eq2u9C*w0w8Avu^?lkh92im=hGkM~vMfO;kj7w~ zV1Bx!t{bF-b2|glQH-MzL00Ok7T-9^YC)DscCrByiLIBkI>8DLGT_2WLgGETe<(0b z8>oIUk;9oty^;xNjZXqS?!l=->x68Wka&x78l9v+nRkaEgs{etOW`~9T7-M0q{tJT zwHOoT9XeIiZ7}u@c;u6egzkFm3NIhpUG)s)NO=s=UhCa<4=mvEeGlCwWds{X)faB5 zRQT6RR3}V{z9HRMuOm=AL8gc#e_7u{A;EYYI?Ku~aPmq1JAF$K6Dfr2QsNLeoDdP4 zjd7ie`k*wUb({N_BQ*Q`<$K}bMMwY-g)yae&g4Ei=X-Ar}%?E z{v-bM&;F2iu3Y58|KU7a<9*(G^F6LT`xLu7TRr#BdAR@hgg^bGKj7ib?=#SjyYIit z*YzLrQ=k7OEiB(1{Mv zfXaTX7s!vTy-^`%BS%>DjQvnC>$+XL?Gtn(G=#39Z@mPm>$VUTN*G^I6;MOh=IVtTTqs#+j0 zgS-ql_i6$7e{qG^hl8@aGbXD&!f57a^PsgC!LiIXhDkBNIsvu9E6L8*d7i)e5|=Mu ztms}_7Vnzl*7jre`cApSQwfGTsXf$Z7Q6rXq{zq zcfjevlI48L+i$;tQ&XH?aO2hue(E!yWHcyxUxo2_#JT-*oZH=_X&Z!;7#tgW`&>GA znPIBg84Y;l`H%7J(^q--`g>?C*(wI?P6j-4@d6jO&-3DykFikdM4`{o;5+#chNXJeyaesG&_{^cL=+RywvufF=p&~f^}<4tGk zBlo=CL(>{g&q_|0o*OrA2A4J|&^qOrXJ6#;;SmoX+#ySn=&>LfjyBlc-R0iRw@I~P zxG@SBtPMo+)))p^7((2?dx!1KF^jUsBRN01f67)7-rpHR8!a4@BnkJEl3b8EckVo- zUbdXn4mqoP(vN8y7V|mQ!ug9A(1}K7IXH)@O1yK}tO#DdLNeUW$xMrslBNz(EJkQl zvBCDv4wF$4a^0dqk@J?aUUIfLWx6;-WydsTL1Rj+YiW!@Bp@<@C0t|9d3;oUcYTxf zf8f2OtsJHEI3W;8NLP?Tp@c#s5yFIRuQXURDhmct&Kj~*kn04JpdPdz*`2Hd8)9gC zED{}CCfq|SF0L1Zs4U@o33S-buUX;9?q$2}b=PY~e{16FM8s9}{=prtxz2&;gwy>y zMZ>8u`A@TqqA0?E)wFn_D60lzqSKode=)r}QcSJw``7p-0fCR^JkGD^16}9o{hCak zJ}j+kn>(rlUfLc`=!$XAiH^szZdzK?vRFvGEb-3vrb%tvr4om%J1M&Nj|nXOV)fy| z8xNP(nl#l>`yHio#*(B7v$|n1tq=&db_J7j`@H!4C;6TK{2#D68Kb1+=IvX&fAE~) z{JCB7RPnvnzr$N^zQeiQ^Bf%9W@9HI8RoRclNAZ=S&K2AdJzt`&V2Nag+yt*^GGca zjYmk&&bgfZOA|IX2Otd1a>34p03TNA} zu~l&Q!Ru`7G-Sh+J9odsg9kswfA#m@PcgM-G#QX3k_+cAfHREp z6fG@TkznUAnr8G`LT{oyCAr+3vAVVNRl)Y3vy=&2yY)ytp z89vi+n6s>^;CUf4@Q@}6f7V%)R4kSy^Lg-!&W1UIe1He4rsV#kN6cqA7xwoUkB2>f zdYBE^8f|mgU7;~Gb-QFyopDy4a59_YttC<5d>Ax(FKFrpY$Q7M^e4%q`iw!IGAMND zyj)8cf!@Q4NW3!`*M^(kh0%}@f@KS|4Mk+peAI`N9c6MIA_xu!e^La<%*KI`){;P1 zj)OKM0JSFaiE1;kav56{s1Dxhif`-|qhp^~$CYtC4%-c|5M8>kjLZf_N6nHd2q|WiG;-wk$X*0QlNLEeANoxArrJw4`|-}oXQy#EG?mK3>0E6;d1;NhcFiebud zlyWq$g4coyL6$zseT9^?ZOiW74mt(v7i{dL>|7XOOpEswf8&h=>pi9oPGxECX_@0) ziEji}Sc-IrmLs;u&v9w*Me6b$ib7JiQ;a+#8)@zzT<6WVzsJFY+Z;ZA#LmuTF72J; z@bD35^96Mi;=~=E)8&%)#y{ZFg>&p|?{MqZUA8tSY;SEKrJ|~XLC@aKHlO*_XDG{( zfAg>YHE(?5e=D4x9Po$#=J&X9_ZF3Fxqj;{s`-?i(U>gJ*v2447Od!;qpl2T-tyM# z-{gbq@9?>w{Y74W?WfmeP=Dh?2xuF_qlZUKk59-36DCEDPzj#sRAy>MgMv|>$3cz6 zIYXx5?DT{*8)A*)BuT>TY);eGU@ejvQ*Rbx4~v%$t>6fFP)S5qrRA`+w;F&vHApIpZ5he4sU z4r5xZe=(T0Wig*q&gYo64n{*B+SZaa4XM|RDZmFVu|!76YrL%^@7P3sv53C6o}h~r zHbr`Y{b;AQFS1>M5V0}sc*LtAk?RE`what{EK_*lsM{c|r8Bh=4hYdO-L^f1;EI0W z)OD}xKZiB+VWqoR4gWg9i;y8%Ud08V|9NyDf9rZ=A95E(#BYg>kJ6$~d|0)o9p|ev zY*4FVo_9n8$W<}zk}-T>89Cv5b)09#>5xJO*Rlu+cB;0{PBlI&6zU$Hun4DCx94h> z`Qr+&CrxrL?mtIX-e)nJWAX;2HEEh-p+P3KMt?1q~ykp_xS5C zfB!iTAKc;a@D};7WOlqHQIbq#EUFeG6#1 z^BGsJ?NL`PsUEPgAu)Bra@HUPjE9avqHqZ6WsOZNCXp=WExt`CG-TTuN2m8F>xaB| z<6A7t6WZ2tx~zEr2M_q!Pc6Cj^fjbkfAZe-?{n*VhLnoU?MWa~yRcblP0PbOxA==M z{0ZOu+BeZj!b=~2j*X2804FDBeCK;_^YGz4PLCdP|LzSI^AoE1oXS*q58rzIi#Y8t zWy|JZ#Lngf(=_B+8dPEEKq@Z{&O3@sQ&*?_<)8f_Z(e_!1YQ@M zrs+qA8rF+l&+qRf^Rd(O!BA@D%ob$AO&iLP(uzdIQ2368&~4e*m=eA(e=Z#}fPPpO zhLS4651rj&OcUdtj} z@N1u8wQSy~9 zf0;Ws-o?0zJ9pk9PX*&)(No1*Z!yj?9Ar#SmT@(eC>17zLD?3J$B72yX%2(2LM4Lj zje?dbx*bqtL#nbuE5T%(AaGzp^vtp{7%Nb+KqUp%z>QnqCoL>#f2R20*6XxwixQsM z@siQlF<;)nw$C#eY>;Ou2ak`)^nfIZQcF*8!ZHRS1t*7xOplKF%xj-zI2>~O?n9&$ z3_4<7RU?|hxZ2e(K>*g7}PkfaF+L9?hxQ^};r+27j0W5@?OBxd-q?wi`sHVrye zF_TMDSC-?0o6Kjge;_tCKJv}k$uvzBybM&4qw@?QgL|A*DaCL|YlCmW>A`}#M<-Y> zD65Jz&rvGr<+e>-W9yI}V2nW}35k*vMZv|Vp9);w(;0QslBAk)vEcOJfTmoM<{2_c z@kj=f4W54X8g<+7=;32p(+1xJV@dOj;b=sXrbrcnL9?ttf6Cw_wwyfz=YnKdDU=XF zaN-@d4X#ou$w-m}Y)iRVkmUn})(i(jp1lfN!<^0WkRr>;vph<+P0Z2@lkQXpvmoO% zrVZy%$_T}^Eizql(OIl7Idd~+%`vSlG0uRO!4SJ8>|vu1t&f5kBGphyiAaVFO^HZ; z0w77sRic7-e@{@%I&TFV<90&F=13F8c$iVv4PFZJEP7eA(9}^-D+2whLp?gEE!x(u zc(6kDW=b6%+{MR-f*VoUD4vj#$d#6uwxzC?n8x6|AR@N=3okWiAeZ{IkuRWfmlR3*|u*t^u4qy6fLDRH-^iP+VSsTOV=9nba%+HQ^ z>&@%D@cd<@40v#+Jx51(SXK*)JV9tfwX_t&Axa5OPv^9zLZu3wC@|q-)KY@;G{)dn z*p4VAe^<1_Ml+i(Su70sFu`ia+*Vj$F&-t%&KfY9ruNL6mL)Z9D;Q;CMAA~X3$k3G ztwoiBa_LZ{>`r#r*l-NTh7az(jaHVbn&R^%=}6&f&tkC*(q|vG<|0al>!xHl9O3aC z93Jtz|MK7P^ivo3N5AtA`KSN%AM#V5d6_@`f8#&pd*A;K-U=pT&EDQVr>7-#y<{}X zD3@oP&MTzy42K1^bn#dV5~0b41M<-TuTomukc|rPKDs-7)SFX4Dp4|Hb8{oytV)p$ z$3eEaSOA_{K-n}@&f$^-mFIZtklqo%K^2BaLV(lJ>e8cK5=^53H5`&{ZjxKW;cQMT ze}Y-jBEGJTX}mIGVbU5NKYm1!X_hvmLf5u)WV6s3lou!!XiL^K;j>yxEyC6?K_WYf zYUh2c6I$u8QqWpQRn=5gMQS~R@r2Fsgt=49kIpzbn{jS;i@{*fo8v1Pii7nA(;6f) z;LB-7)zpD|t^+l4C?!|M<4D@CY0R8ie|f}ddBkaX!mON9y9zJE?nR*xI&_73k|9tu zwuQt}2>Ve{q`shav!(!FgwC@&4BZaA^R^H|2B)>!(pn!DfM`HPWIA-6Yi}GA2Ti`q z#e+C}i)KI~czX1>Za<*|qG(9PCQ8ZOdT5A!DzSp%#5xD~6x#y^jKy=#TDA04e)KPjM)lG(|W>cp^IE~v_eG*LKbL%dGp4H{jO4jfrhad2{* z5ANNjDoYZPQk$BS`7w1GOxWKka6+I`kECK}BgNT-`84qBmUYGSv|{VR0FyapM@wdu2;pfP zNtT5|UoBfkL&a$|CC}jGa7lIg0YWVBt>E;e!Bh#JWk^A_fp(>YiW5{zf8BT%%Ozj= z>Q_ke3GZEhlfB&`5L9_Dz5H=5J$0FX`TKvs!-sddb^9HD?eG33!(xY{qa(_y;$QvV zzvRK)`#6GsK$3*4Frg$*U4EMX{=fb2+1=ge;iE&|dG|U$_p?7u?HxC_6o<|7qurcZ zBgPYya>yj3u4}5gV%D65e@?Eh!23AN6eOx(ck3LRlYPd+jKiY?kO{-l5QhxbiOx_I zgK+UW$6%176`YnWj}H$xw>jkMQ|D=INQ$V9;cPl(V?3lN3K|n+xM$0fvT51b9J9TD z9%C#`)zF$26+=?HqyZ@*&yqM8@xc)-N_jgIlGcL~f)>qJk`zN0O~sA7kJ%a(Y;8_R(_m35McC@*0-U_q}&g`)3mD}5gfA=s?6kg{nCkOYi^C_-f zpp_@f6oQ1Mb?96$Jm*m3C6yIq+VkBH{+u`eKVM-!pD`Y6vOGQItUhBlUtn4jw&n}N zh5a1k46SS#4HE={dE-bkh4&Jf1^hsj#gCYmsIUKzS8BW}UGd9^T_m{`B{lPR}@*KHC@2`C`tu-}n|kc<1XhWy#6e zBmU?Mf562H&$7L_iIxfDVU9E-j4{-8O_HT(oq`hVf9>vZ?b#Q&aNzJ0MaLt=QhkX_}JTCl$xbhHQ{CN)x=3AQZJ}*&JqUZ*DRw3YK+) zP85%)e`g%dO3rOVLS*4&{>iM9;Z@zbvVlcuak_Xc{Cue7Djs~Pz zN}8l(S%y+N;@Tn_ESbK$5<=ijz=uOkhyaE2f0&q%k)kYFlerES8uyu&9IwhwZ>>tnDPh(N5M2 ze_G@Fa7-fI4}9=|>3kV*y-#mvlGV}WaB*=##_YG4XzU=ytPzxwae*ToBjR7jd!!dA zq3PlrtPk-&-gOI@M9K7r&g+wfmj;s@pmassoYB;Cn!1V3K`qH3W$7ErM=jOdF&SGP zw1?PQ1{*--7z|R{*3g=Ux-xhhZ0PPjf4qxnEUtCnhj?HyuNe(9v=ZndV_DZIrO--} zq>|J55~&qws<`y@F1zR9|Igl^$J>^jb-nO+G_zgZZckgM`Yu)JTiOJOUc@W<3cRA% z4Sltzq;9u=KW*Lf3^0h zR8?|HB8}Ggd`{Ild#}CrTyxCvjAuO0uPNI((k3_yRncIDMXH7*P4I1kENWI)6EF?= z5RRVG>}^+6rC~mI^ag3r3TPZk7i1Y!Z9}#yFlx@u!9L@Op>+xsOT2UxbwO(^k<8Iv z(G)>AI?qEk<~>}za1Q4c=g(bae>R^JCkbzR`+wp+AN+sV-Z{tqRzX!-wy*DS=FDRp z*<59muMhbMszL;N=ua2!NR?hZj^$~ zLYyTO(>jY%Q3!B8GT0JUt5{mLOYa%>GhX|emk}p1ANuGcNS%_ctT7$$ zF}}9LsFyJuWb}QXUY>&!e@nMsI(%kX)u9IwM+mJtN~`a(M~FHyg6!Z)&Vx0ASPjT} zBUXFIIpHmhEve0n7R4m$QQc(9yJ%nqNkfltolp@TCqg4L)MLdGxUfiARcAvUOdt<4 zSJ`E%UfhtWb&NQ_fLV2orbR#vSz}l35wdgR4Nx|vx<*>Jsi;M^f7?OLl;{)}9C#c0 zJwXh=%h)^inCNKrOGX(T)NC2j#PYca6lu4Vag|ygHUztp$5W`s-E$?STBxos-*q8J zYF&uDN*)%1ymws*M0BN?PIpFx`+?L*8AF_N=vns+fmaAY9H*pt#B5fwcQ6ft55hB> z*UYLilmTqlX!D-wf2<^q;Mma!uN?DvMXwiwlT-!R){ylSqfyRex27sA({V$V$LLs* zX2F6b(+Si09Ah1Ml9FZ$w4p!D5eo8kNl})x#*vB)XAB3EeR^v#QbriBsC@-7GzN;j zF)5bO@ra?9WJ!-$47hT6O4&3FR$}V5!AU_BgO38LWv?28f0h&txHh4;BB*V{?(Ph0 z3L;yuK3FG`2~FKFHzl4>mz_=uvV1@sC+zMW@bJTraplr=wCyN{HcamNTFxLBxOz@3 zVxlN0Hpw)_>xkZHfOUqpEqVL@^V`(Q5_`#Nno+$=b8S55;D7snBR1A=YJo}tE13c< zIGDFotztTxe=;w;AhPJRJ zvV^03NNU3KX^aUJUGES=b-?yOO7fSACyl(J0lhSL6v0$LiC|xJh^3WF6*D0N3c%VM-b09`4#7fB zl`h6De<{cdT+|{kdlwutghxtugPnZW_3!-4giy=6spybV3sghX8p^V!s%u(ff~>1E z-R2)K(#|i0#=AyW_dG#x07i7rQ&FKs$Y^I(!+0{MEGm*TVtsYM>ZnH?FUT8*xMC&4 zv(#FLaiSB)S)?DK(HDptAy@|tbU@!|9nmyUf0yl2oy=N~P@tlijgxnh_14%pbvJv1 z5z|@q%z-zO2}cKaAoK)u!2L;NsJqoc>vmlzWXNPhV{2?1*dfMPT4$-NmSS3PY&EB?74vZo*5T!xvMPu&O_oI%YjDm}R*t$2 zYW8Byak*=j;%=W%Vx*$myr<%MMqa)3w%jfuKKl)P`>p1h| z1+HD*VXd!eYfGF6@?IL`1zn4-=Ge)Me=M=Yam1*`3ConImh5M3a~e}`jvbZEr-$%cm@0w1NAx>|{+C#%gCp)6g0%sAfC}hV0 z$q_{{Ntyb^=q982oPQr3pLHI!AuysT*&vn)9@e{H+eT$z^@ zlS#o=p0KvsV>IfMWefSwL!(R~7CO3J_S-dUmv%xdM1dqycEVE&dbSUNIADLnrmm#o zo;&X6)NS{(d1Qq@xE{mwSpsiWH+=YGrz!TYGOa6A8etj-N-$banM`XcTH+{pTvcUg zlx<(HnI6>W#F4Ee!HdgFf28k_5LM0A)h(*BrLGMcflMLIp_+Q4I3iDCdU1sFis5jL zSHJQzdHmW(xV(FXq7LSFdE7&3kWqt>v(WVyf@xuymlN7LxaUgk8Ezy*S~K5;W)508 z;-Timt*bQNP|OM!6ysDEV5(a z9m7;J$`Yg$G+r+6$s+hF;d#NGw-V`y|NMLJV*AQPMxzzbe=!Ed%(XNJQwCKrT6|?jxyU7jp zhWdbaT~kObaHxk(u4SXA^Reso5{jatZMp{2qCqBEmP!^!^94fUMt0XBielmH(SdT8 z_2uqJuhi0Ce^7J*DU=;#IL&yEu`SjctPj@m)(N~1B^#|m?b=!}*5O2O7~k73*q>BX zO@p_g2CF*EwX>c)@~mz27_AN|%9gEb2Nd&~vTWGhoiZF|tgQAK4g17V2&TGoA9vQ? z(BBLM8tWGUH9%qmO*+V%1|_mZStek3g%{Yme`X^ zVvcM^D5JShSs>adN9r$(LTKZ|i{_cV+{Qe<($i=B(s7xz;dBkgJL$%b=%u&*=}d zZw*&3U*Vvs$Zf|sx~T;!JD(~?q+{|73?5X(tgORB-T6n&W;62MfTAjbyQ+l7!MG?n zvAzP{vavR#tZI~ivZ*QSpg%yQ86GwsWz7UvYkI*fNDQioCkGAN~W(ufW^7i58vg4RaV4ODGFZsd6$c>9Z5 z-VJ1cJ5C(s1$W)bM;|-G!DOE(&d7%ASRXc@>E0f`oRde2_4O5oE32qThl6n^D5aF3 z*UL$>jIt~_m`;(1fHUrzNukMOyG8Amf4|=;eN*$f7|yi#wppSR4zsU?aJX3hKRgHl zc~KN~fC(asuIy-&z!wG2s_REM8A2!RKTu~uOd zmQo>grwh`VUYfR{ZUO>Dt3Ye6%ZjRKsH%#(X{nnQ?H##-Sb20T$#l2bI**lbf9rk6 z`0USn2`_x{D=ACQZ~gjzgwAZZRELdIh zv2zbGn>1+A=fy95885i~4#xWjJpSYp2rrrJ?{IYW7BW3#Z*mD4&8du}yad)OO6!?a zCCaJLU6h`@rzz{2s_~F$W|i-p9xTKTM8&)+iFHCbYgk>cL0N`*hBYO1f2wF2%Xn&$ z8seU0TwTY?iq_}!bBz#=gUJD{X%SKpX%)02JhW|tmY`!zte_VKI&*DIhbB~{Y1$oa z3vca@~$O7A0VUBX6V? z!@i{UEtQFBY}M65gOnjce;{=PvNPwDilS|qHHLoH#F0cLzB7~Yhx^tI8nDAWf8~~A8(iAnWm;5- z`Ixx3ii>+xat@JYZ|6EyS>nB9G#U^mNg!O@P;V7V(95&X=<@^zmAa&=+l~YxIvo<# zQD;3uM$3)h=F?t(LxEr+lX#;mMfbAB)6jW|Eo{(zhk^D1Wf|z&UAe&8!wb35+Q)kv zSbI)_S6v3|Iw6|ie@`rhM0Jvn0i6(VuTpA+R5Zqbag_6tVqQ=+HM7}_x@u{vDrkwg z7HJ!L8gB1Lq$5F9!^R*Z(URSHjYrT=gFeQrHn>rbwWB?Dx3>B4M?S#H>MAdK*)51- zhn>?~2oH7Z85f3nKB2U8irttf%jggL#A&jGjD;s9XlVpNf2p7oj+6)`x~8ASTOal+ z;};wmyfxvJ=^a*tjfETRx}Fkvb)<+h#la3VR)@42OAt4x9x6dG zXc1D-HsPX1qZmg-YXrBPyqlNa|7xU&xV&?gz4=*I)-|a*&aJoI&24u-fbf>h6Gtg# zlMp0lQ>u2xf27={C~Klvv34>=Y6Z$sjScH7IZ9~aaj^M_MTV(8SjGOehGHCKCG&xz z*B6XdBdWr&dbE#8qdj+n0almNSYS%UPPKhoOx2EF>S@pK|`8ks5EpqweKPD zRK8-EdG0=yB4oxRr>{{|9*tmLw-^y{y;6o+;9xkUe>cpybm1yZCOF#^To*O8a}p)6 z2NowngF$MEL$g=av;wj`B1>`_DS5hg>9d4hA+aK&6&h4RZGv)AFN+z^8>|l zK-JXbc|Qo&blFquJUg=jp$4q1pCFAj!Zz&9N~9El7$F2%nj@VfPZZu6yo`{sB-Drk zXWuO#fBHgp!L+L*%7Ei^T`f&O5F+WCVT&N?ZV;xn-7&{Wh1UV_k2u7KI@cYil??a6 zb>HKLhEW%Ii>l&ad;q56_RS&FcErW&d(6gLB>4~-B{bHNtRA7pa!}OBNVBSA;#i>~ z9jLP%JvZdtddV6TA_p$NawS`mRtEf?Ps z%ZAuf=(G?tjk|v=aRXi1VQFuUUz&mjW4FWL+f}hUHlbSD33=g=O0m1Q&!vl(K}fD$ z-DWnQF)!ydRgH9p<3qv8lQAbY*I9`i$5*r9>DL(c#}kJA93>^Y`!g(pUY1~t8zN1wm(U+29JzDAS`^%9w)W?=7V;!wch;~o-@{Jk%%>?j%So~r zC1a9A(U@>EqDY{k@GNVk@Xlhqg;oa!=<>dI!PtkMg_DMlpV&jnu=iwH#tU9}H{-2{ z>2yXpFX{FB6h(=(o?e!rlqZTTrfnz+e-pZa!XjgcL>-O~X$CrQ_l4Ks6>Dq34K_}4 zdV`$%UUEBL&(O^goHOhlOxWGI#`g6~C>dBnWqZKfjoBOTGTt{#3y;n;HfgAuimI>_ z+EEr$rbUfKpkqNCMO5uXdUc2P$gCJhiOKytk8gll}4)ie%mZ%#@jc-MLA7L?9tUDyn? z(r6_Z^%MHT6_R|=S+TgTgB&zye?#UJ7NXXYVV<(Tx6Q$L%;qQu8Nls99>E1#XHg|{kQv!p)aRM6SXMp zb~HAYP^u6}!co#Km`V#F`YydM`_9le;S2VlF9=r zrWBfs+Xswi6~{N%SQ++_UCl6(64l)gYZnA0L7t`EH3wmq)>@h-V1T`Rs- zFAMu~se-*vFtrTuuBNWJe|+s4d)qslzjztvd_XESmezzi?~%UXH4mKR#rGbemqkz& zp+uu1qMj!oT5=oj^lxR_|VLC3^ElUgv<2|Z{{i4QM zh4YgRziGfp>e6vWOc0-ajN5L#ou+6x_xKK#*+o_d*x5BUk6gvOn!1`Gg`}7FDC&w? zHD)q7U{(|i))S({f6_=rTMHtcFl`!&szC^iZ7gvV2ipMAKrX+cJfUe@dc&02xF*e0 zoN=5#GYuNQwjs-8V9j}fEn2ipNMjXPca_1rfF~Vq)wF{Moj{gpRz@jX<(z}@0g3Ko zykYZ}721`U>vo5uclDTDHKc z(hw3>>l{1VR}s#T>O~*ib%8R-3MNSu8fKkIs$XPZBFKC?5&ZRxWhuzwI$1yPC>bBl;n`D@{{| zqajsYG3e*4jRw4OWtB8dc<1{*!el(9-y0Gq361eIkp>wtwhi_5T{en}_0=JHmIg7O zAe69->~5iD+|kapRyRPTT&TN0hanK*^k)?~x!iDsbxSG8C4T~}+k@K1;IT`^ts4&$ zg2OV$(%E4lpSVPmEgXFpnQvDWwYD>3ZIMcorV^fRm^CEBi!%LmpL!fVKC5R$PBt88&G%1bqs7R5=8js-mLBYK72-$RS zvCuH|LXs*?yMF_=*7VZ|Q`e-aV&pwaX!8D$dDGy$=jbru{!;_49+X^|O>k;J?LEeX zWI*U{z2cBql&~Nj2p4pCMPT&>bDlc%)232-bR^J;BJBtGht35mc1YE7>C6_7 zd~l1pf~qt$wWrsMm`+OC8gwLyQ;qYMUO(&>$|=?cHGkXJ&y%MSv-ttDEyI;76O=0{ zifer2V~=!dpdug~@|1bgkffTbED+LjD0aE&bO5k+yQ z2-tOa2l1zHqvJKg#>u|iza5rv;OuWNnZK z8-JrX4w;V>=x%daYz#{@iIQEZL19GvRKK)O7I=j~sR$o+0BGlM*5aJOdK+9YL}&S< z0tsM&eWk;zb~T@XSrrSbZ@;wDIbEG zpQ@M#cM0pT9;9%jsi1X`$1#!ejAu0~d4ED237)tz$G9L+B)VXxIwo8mdG0)tqNV4_ zt&+lYQjXm<2OKlxk>}o%Io`u#mkSyrdCXbf{lp|_6(fk1baRDx6ys9~*bW7Oth3JelK4He|@qfOy(u)@rW!-shft&=Vr|6B7o9$97+iL z6?n;XQqxoxYbdI8 z^j=UlhFE$Ay&h{D$B5!kpAPCuhX}^QK)c}fci15xbY-n`fa{c|0t8JeiS`mL1**$} zl$6*g!88q039>9f>8Mj{0^ucA>QGNq3Y{2S(*#LK4+|>KpYpJ-A+YDG32;7uGPOHE5z%&03vQ?+DqfK&z%`a_B{Ptl%rEPwTTrRaoXRH!*S zhY)rN^Rw2mHwmsFDw07oUu&W$sJ0dJIpfKcSy|)!b+i^FTGC5HQ~Jbu5(pDUu+~r5 zorWgGSt2onjTJgys!(V@zVouS3$$clA@Us ziI{`kG5cFBliiki(GbUuQ@5-z$`jfm)UV|79X-8afKNp_fPaj=bSMPv+_AMg!?iQC z*k4je6XMVS@t$5UK}#KWWp6MxSp8@n#B!t*)blnpCn85Nopln69xWphElK(U>m*HU z=#O&xqm+Z~ifSJ0XhJR%I*|D=qrVXmClTZAIjfs7%^cdfr)U&GG0Na&gH9B28d1+Y ziij)|OlA|xDt`p~L9RG)WR+LH?1hZhj_`-?`w)+|6`ly!LcMnom`ZI)FV$?U#jG4j ziAS1;&mXY$_%1rv968x%G)U2_l8wOz`=Up~jNV95&g+l~IxtEt-L`LLIG{FyG*Ki` z9P$+BmK0py@$9>JyX5LG8!t;TJWI~H5Q<B{GT7ItmL%N_=`_UahB

ae{M>K^kFN!!1Wrc7OIKoLGq%p2+#oxji=5dJOt8g?F6X z?97mmuAJW?l0ilw>BaPOMcPjp3|IMzzw#MOrv>kL``bBra+CXB za2IFKoa6CFPjhNx$dQxB8BR)G5G70};iMZSn!J}Wp3I3|%lgI!I|p-mYXdf9fP2!F z#D7-%IeDrPZ9_Gg5~m41@t{Fi19gp`?lO!Gy`E>7#ng@G%JvN7Jx+z^%K1-N;|(~@ z$z;OSYda)q#`cvNyO%978G})eJ08dw4PxptWw@ROv5gL=S5*yB5`_j;ZE;3W)eTs| z&UnUjT9ZZ@Ns`hu6;)kgT1c~)NGc+&yMM(P>Q9kUNUboYrK;M13tR{~8%LUH>dGLc zq;w_OAPUDfBal%Lx1Jx=NDHafG>t_FL0L9rX+kVQCp616!(mQ7Qn=D#QPfp^C>|1l zHHM}&80U~u(iZwMMKb^r{i{JSZy-Q&?$d^fnt#+<&u9 zJGzt0g=M$cXLL)>eOVCC?yp58iQ@A9BV5^gf~skdkznm;PSpxrTR~%(TZvOQ?=u{N zND#==ogWk&Vr7>kg)Xqk8)EIDLEvFc*$a(9P+LdUIvPi3=^lPrtaYcQ08;2B#HzJE zXykTf1-%|e=LPq?f`3FECO>ua z5^x1qFZ~Y2ShOMtPIV_3tt3jptSH$Z&nU{e!_@|?xm2oC5aZAxSca3ZXX{t*M=mC7!7)qO^r~3# zGDSIc#6l8lO@Gv9zJFKJO9aKd2@jR_L`qT@6>*%N^Bjdnn{}Cq@t|qu1*+G4hstv=iE|L z!1{1}&Et>(D|yI`S0V^$d;Bt3FX^p>G7y9w(!zYOY1`cnmCw6s+_#B#q2CKewEfL>>gkN*CpJm7L`Dz|dJJRDyjASf zj+u^#FqpbUCz@oK1%n5zan8{gkI)H9N+z>CW{;22ksua=wyr4Vfr{QsB6L5co>lB$ z+Ye60-G2rAt!KJF5A;%P7_Dl0S$|6G`gkj8+fZ{`8IH)Jgim|fi>Vqz zISZ6LYg;C>g85d7@RCHUK;O$)0+s<{!tpIq;Rs}$qt_2a4r?uG9uY?pCoHRLG5wyy z89~xdNLON3k7l$p%hj{{G>zlf-5G;CqL~6Z!L)|aYL8fJc8h(6Ybp6!f^i-*H=Mk6 z$bYN^CS#ZlKO(LvfmQ%;D$2^A1T;)TUKMl#Wl)+$t)|&183D@=~Byr5G3s~NwvE~A<)_ITCiY!Yz;QvBu@CJ^clz$kZ zXuPI3SYgoXv3GF5&i+25!I1T}A>&EGY+h0qQ-p0;UtJ^V_1T%%Oy?yV!#;z4PSVXm zpzDey+TteTF3ve7)h_4HzLzu_p_2!g&aP6`HKWy4OwVC#!+csWt7c?cQa6V2yryYG z-LaQz@AjdHR~Aw^88CDVfgnmUvmEgs=4c?8)o zC-3K2rAhidVl9ZWK1~^fmZo)sMpcd?YWiyqQT4F9tCTZ?bQbAh zegOMsN}NXY^A&Wj!CAw2>VMeTn<14ZiXYGTE+JSs5{%HpH2r z*N+(;J%SU8I8BLCObN9(Lo;Y_vGL$$eh_e;67R+ZJrGHzZNK+KEC0JgH zpe38dK|0cUNjWR2Wg80p)&vV49nl~3@HQO(=0$~;dMU<@0WD*cR+!4+?SP{6m{vk^ zbBokDM^TpS)eTM6u%`Qrk{(NpCx>vOLu(hY%yJhLN`%CVz{HzO=NMyHiPCTkl#(b; zNRx#1)m3`EoP+TJk$;M)%7%21GxZj0T3j558kh+Stdkq)oDe#nE)iTlj0xossZ_T? zxCJbgej3V4-Z{!9H~}jm8Knu$Bt|eMF|z#T-u)#b@#;D8#2wVfvALMwVzTK z3H>Z4(ubBU3!1@nR?-?vV=Sh%Y-W;|-E#-$xA!@B=`wkmv41k?v0YablLM4+xV1IV zG0s^^)37z3Q`9Xh!#=%Uwk*@!Y|ved#?)N6dWNf4&XOdnh&*OC**u_XqzP`%U zOBZn)@zr#^rf$dEVzRs|==3^gxfvr=Cyf)T+T)}|CaS zI*V1^P=7TIy?#Qh72q%?_)t0TanjS807n`OEG}!wkcRkU}yV^|7W?o)Qw{Qraf$rn70o z!R~}COUZgUAgCKlUDp(CMV<|otTCO(R7H#N4TE8du?lMs9R)twkW$jiGFFm^Q7>oE z9}@a0A>(shYP&=^EErv|#PkL?gCJzmm=@&?X_R7ZLlR}2*j!^}IHW4)#L|JOarKm0 zGk;@N8>*%vjiV0R>xd#nIA=T50zn~N$CnRf3Tr!Nm0EP*LyI&V(Sx?@v}%|YbzrN_ zDu#K?q$%k42A!HzXfB;NvPRX^OeSNTbvF{$x>7>OruWBFcK64Cqi$VSlMQe!>pWL? z$IPk<<649v321|(qzc~Y)0G6@Kw#Vb6ZHMfjQ&-eWEx;N>7@` zxN?s2lGR?HVo#y5L_)ART<7*%@8OnX1B!BwCof!Q?c}ZWlqQaja^%!4oIU$~41b25 z?F)EYg>p});UJVnDoNco9r33{imO z$Jm?9*}FbwWpjfgC)e@BBuPpXMG}m-ia>r-rd_gP!lR1zuwu2iICe znUV}5WDIS6KrA9+nPb~2Qbw$f229)(p@Mq5Fe$dtlD7=?@iUC(2wjqN19usaVn=dEM7o_`W&Fq>9vU7Ll@da5Z7szBs$j#7Ar=>kjXk&(n&&?+L1 zGPH82cut&YobkkYL>$Lhmtlm(bj}cU)lgT#b}34r(jFH@PuoF1*&>aih<+*=^fN@9 zE}Lx&>ux$4t?8(^%dudYc34Cu1jjbkX;Q`N$^a`Onzmtm*rVUisDG*%LQ1Y}?_+%M z@s5&E&x~crQf=40U#NDOPVAbF@pJgKP+wD>N>qS?Ej+wDQ&Tf38d~Rxq`-O?>|eB} zYASSHc0oZ9Yt3D!PH=TAB8uZ1EL|3&C=#tT$BrJMHkMPz*2vPR6Ni@_d%$t>_z})- z?J}Jg#7WF%FXEoNPJeN9eTC0`^-IXpg!g^qV^qH4)R9xPt>xfg%KrX7S(c%7m$i{F zsVnx+Utwc3;OP1aX-shBz3UizdwZ0P z=ia+-G6JOVf|n^+e2iAY*n+eo zFJUxtU7@~DoI(^Ulul?H6Rbp>rkYzMEy9-w8IxsMXi#M_&O%vLsMIr`&yZdd>6E&# zv_b>}zMCB0ds^o^x~vR=w1f1?r7>X#Lcamii+@-&+YXQ9LU{UlMymxXj!{xlwVhSG zko5Z_lv4DJKp%`T&JwEt6^oTbNvK^X4{2C7lf1Vba^O&uJJ^H!AP&{(!OBkW!MmVi zp+$JV;H2xR+m=Ks5~<0uECk+8x-e3bEX_#L;M*5MI*0XbB&#bcXszj`Q7CBo0Y+k=&eUdvWR&xL*p2wF>#s`DMze5LPyNX zhOMjnr2X5`sitllymd?`Q}QSd8qh^>fPYa+k~W?PkFSy>aQe(8E?wE;+SN;JtoAr@ ze8gI>PZlQ}zx8%(y+bkCA|DKS^oecmz56y+hnn%MW#f+5(qFxu`rs;)1H*|^4{+px z*TL2Ev`tCx*83B|L$ z7Zg0T%zH!N4G(paY39`oDKwex6Mtz((i3d&PC0*Zm&O{}y27}E6USFjI&|UJdn4|@ zbZ#i71$AUdBQT9;^T>#mQGdqdz|fWk ztu^cG32_?JwvMv!Bw5VyTZc%cn9mHww4s`}cqgdpg5he65|&;+C%!{tj3Lis5*_2I zsOlOWE1ZSK8v032T{X1L9PeOqFhMAVjG-|V<#tV7R`iD%PB@yfAj^C7M>zwf5L=$f zZo%cf8O{qv8ynAsKhbrn4}ZO}gkRKd4{@!B+woyjEp*NoMv4TaLl?#!*N$}_U!jI-2?UD;fdM3dUBn!kDlesBUd;+OgOfxxZ}kSaxidA zw+@J9!aeujhl&Kw8-EV=_OXp;^Vk~JT6(=u`xkzQlo?X(6OA6`!p^(N$T@Q4B(!4& zQH}I9)1Ax2iA1QF{c*+K&YXkQJ^J}3axOOM7p_QW~X z2ZA$?KEfZq=c5eQVy49&W!du451rxud+y-QJCE|n>GRxq$A3vSkKRIK6j8j+*>ew5 z6xVpsOJBj}k)tT3DQ3HzIsIYqhT$-0d@$y*M;;+sk@Wi+^YIQ54fAS`o$-`WPZ5(#AH%&P+DfwmWY}>5qK5RUYfDK;#kR2dV`#q zfkYLgZm6e*WFRT_4v<;O+Q}hJRev%s3{~AS8C&Ys(jN%oRml4h z^Lb62N2tUQ$%y&bp|xhX(r3C~GOPDEaWbczOLlgr9NEly^7@ooY1(K`Z%yE17{r4> zm9+tmG#i)LR$-mQHk!&20P5A8SR`04m=|H+i?pUGOR`=v!45@7 z>mV)8Xn)3&8mS~rV*>uMy?H%e5Lhp1tjDmRG4}s;drKrkvf>vqmvrzu0WY}y7UD?r&i8(ZOP4NVjAeao0|q_D zvpH4WV68)IMI1#SRcGkvZ*EpaC=KrJ&l$T4FBDhCj_U`83+H#ZeC2?%39Jt!=gNqk z-G4EWGu(dfh^?I|ajZ#V!F+CzPSG|&2&ODslvI@S9Rv}Lopb)uK3U#Fr7_npZ6V4n zlD3DyQPmeok`$!{=dMk8?92hhbeFxI6|QaXbNelqIeY#JFSzFfSFc^cHd9VN@hFd< zy~f?QZu0oWea>B(vpQSl%GE83vSoi~#(%~5Dj$6R!<@Nz5#hPnzu5h{boB@`1!SvH_N+t*8^fIIHaDg7=^3i>_I+G@(+Sj53z%Jx=F z-G(}*jyoAWBXBN|rRHtTys2nJO@B6sI6lg;E>MrH7R=fpa#NHoqm>^0f$oSH2BjmU z7Obq~xE8Km8VC4Uo?*P<*zE&!l z6-;+3ifK(-d!}Mep2jqDLwV4$u`$3o&v;sp#xa9oPTMxLwIPeM5KzYrQhy7wfhLRN zfLm4xV>9p-(J?JbM|7aFZg`ow}tys$gL zcNz^H`%8)?Mb~$Xr}g!9jC0J#dqE&ZMFHW_@%p62a)uNrtw9B8QZL0}sYV>09;B4qbLs?X6!9PaOU2gS9_`K+E5j95Mnk648Fg9G zHb9mJXqk+b=!s7rcLlT3^8V8YNY~(zRLuc-eg$J{WF)AiWIlz<4}YJfoYyE1J8ew+ z@Fhm0A*-u7dpmpdlbrqW93AU!BT#H_?Jyo!T;JYdXLk(N(Tipr8LV>mOFx(C)ZU<>Fvhd7-s7&@Hh(E5W3VvT*x=al6EyK{ z>?he%>i196YEaq|$Ar$jbVwzzszvoQD;qgaK0c->YJ`&P&i2?ag0$AySYi`Uu^=CY z2i7zmS89?dVQ+67{EHfeu{FZS#F3$&3$%9Z?3T=m38vNb2AeR^I5emrN9bh0b4V%3 z;uzx$Nu(&6hJV&eym8E@2k0oml$PG0N0LXJI61@^$Np}MF`hJ!f+yR!!g<&@ItT*C zk)*5~#f*;GC0JP*Fq;~ZsK@%sQMR{tnO>Z+w=-w`cut{h_Htg*w3ec*sB05= z>;mFpOr#cp?j{1S4|=+lh1LnA7l(A=r4(c51nbH_O>qdt^d4B{cO zvv}#~zygk}jF?JKIiIk)x`q^z@oYxj)SZzfEJU(}^h+BR5NH8P95&pnht>+L43559 zfkUz}NPj6r#$;a5TN#mz)^JJ%inR>{4yn{aZ1zwtQqt*O1k8}|3%YD)5Ggu1SqE8@ zqI10M-p>mHZ(k^^I}GH(m~)|7A<$8Tml2gUZ0&8cG8nP3I%1+E)7hNaY=$$2DCymN z#!JAo@6H=s(}a2Pj#+7lBL&h>w}FJ>T#a`g+kZN)?LGknA)!bISLQ59$UYPk#W7K& z(ONPYPia~c%qCmM`f88kr`9<+TIII29%Z}afI<+K_e>eyz>_7Rmq?~ zU}vJ)t9u;mPgq@v__SBuiP8s^%pX~^e}rnk8te4*AQi= zNPm+x7FI?F`xklWJ@4Q}FZnEv9lv9FQgg0z;*cuHjJ74h&WX|y&THywjsTkS0I6ay z731sgMrlLUMr=O(e%6oO!N)%G2yHvz?o-D(xzgj@^?k-w#lqD%;F>!;dFR>a@l?jL zwKE}&6~~SpqdBS)+WMRv5}PJg7^cA2Db z7H``HM46>*r4aZ|M=-!A1I}10Y;taZ!g&$At zM-gkW&agM$#~H_PFaoKVPR11T8LF}LpMxH+^FiA}7`OEN@;KT~j<79QQlX`E2mD5v>gIt{C^Fbtz$6ANYaFPWjVcnp37&?a%?STUQ`rq&00U>>eW5Y zZqL~*EmzKOkut~5OZI1;51rnpt}BkM9%p6HqwqO0T4Ru>D6OauE`mtd+1=&p)pxS) z_UQNX?op_iOfE4T9Yd;^G?RE=QH8!=rsN-D9IaWHztZJ}9Yb%l^1zJgJ$Ci=fI_ z*-*N3jwDhHQi(Awahb>$oH@HqYyT^|WrqK>PXm=bbKnioqA1kHR7GuTBI}VZ z$O)!{m^|2~I!CT6yV*k2l zf8H<}#=PJ)Ba+lGo7U{?mw1z7y~5KA;N{lQ)~2Jd2F-?|sIUSe6``XTQws*Yl=Y1a zFAP-$&Lx=EGdZYe+cGo|1_`EVF{VYuj;gX;xxCN%M#jookAJoXY>dURay(}^h-nS1 z#ThFnPJlPWsh}(k)cUV>9a1Ys8woo*`wWj}oV?>!%2~tK)d}-y zOWKP_dV=97CXV7@$TzcWU95w54b^5bJm;#b`~aPY11ng(^bO zW)1c^sw1K-oNDQ;wKa)WBw7-wz-qHDpb-?1#epRkTqi={mp(LV7eeZXoy5fzhH?h7 zgS1(PFacp9ybD>d?=Z)KVut9n4>~2yP;TgSftRHdFMlYTitWh^FC{{nV5K8M$z*T3 zPgR%X`G8)QF>7k-s>B+@%_=r{2W{=~CTJ!E;X)HmE#Z>7`49RVct@la3h*YB0~bV@ zh1ONwTAKC{X6ON9YKqxa;z*$|*tTV@7vsI9HJ)CoQBtrwYiLot<9%m|MZ>L|eOd&Q z=>+FI7k@8Z&d0y zvtIRTru!2fe*9xpRYOs9CcuyG@xI6QkiAuSxj{sSbN6&qLmYKF36ScTSO+$cj6f$I zu_ACq6bkApgUV8yYlsdZAp0QoB5_d&1W~H7mB%&-US`CpLjqA-b9B{^ugpji%eAW| z+ke*$k(OXBu~4{5cE*g5>V!BA^wIrEL);r6gk!j-z-uOZ6#|X-5lt1?ZB=cNTCu-7 zMJtbrAjxu8k0ey{hWWUr+!O3ynK2yX%%=tGM-q}KCyrC325VYo^9I*w(q2s3k8$2$ z=Z5LQjC?SlZ3Rvkytf?>-&0I$;$FhWk$*LMeZhP>M(I8;eBu3U?QJu!C&Yk z!<7s#8&*yj@Seub5K%*a6k(c%UX}(TLL`^=H8-_DfvRm77lzgedMg=HM|8R@ohZ(N zlG|zbE?{NeVi($OV&P737_jUK|!B1Q6+<_=E`0nG`Aj)fP=Y7k{KC z4;gg6lWk<_;Hx{=S|Jru`p$GPXbMQBNuyw=9+Kq{Je{*k9M7_hA=Pr55Mm*R-r2TG zixhDKuWlXExNp>=_&bBOGuaJ$?&)W?PJR87OYsA+8|lL!f|akQO2@w6@|>WW_4 zBgu1Y3Nlz;hvuUCuaXebFSsLx^2g5YI1E(csRa^XbnkfGv4 z>%t7SZOc5|zz&KC*Z12F2_jLV2?8zMTNs5m&-P#<(&ZSxd>%l%ftSxirr0|UE}ctN2Y*GFfJ+PEjmeP znv$r6DDDBC*|=doX((nD)5(lDipf_}+S)Ly1EC@98%7&~x~SN`I)6sHoIFpdYD3ql7fm42Chr*Bs1t&xu5C&&8 zo9hF7WWF*;=CXow#ZHw)*8PwI)u&%q6?}Eo$O%z7gVX1 zi+3TS(;Z30vN0uY=po#IlIWmm!V|>TrRwUSsuQ|dH1R?+%XiUV$c1%w$E@oV!(``5 zAaEFCQPzRC9s5oMB!dumsaQG*-$?cIp&lp~C6*B9gS9xCg@5GXBC7|1aF(iRnM`Ih z*5c62TFOeE@-$&KEq^(8X`5-;BBO90O>M(5+ZdWQSST&*g0z;QDendI%Cb8#i!F`4c^mEx z6+#Fu?9KVu<(k%p`&U174I#lA$3-O}j)sD8c*RdxpuZVeeo<)7I=BIL@9M zqjZn~ZR!fs)I?Dn%2}qN7$1a&ZE_W3g1?7pEXG=z#(xFH!M4UWhQ@^Zfe6%RYYeuv z6m77T*O4W*ina>7s1U(&-WbpB*)urj$)x3lw;f}BW1VYL%Xk{xbbP+fR4bZi4!m@< zzm~KINiI;SMP?GwlfiV+gU}A^3h*&`mNAG|LDiJ*8fof@6T`H0NEIWT?6QI2PT;J^ zc^evVaeswsyu;WkYWeQP&Zh$A%1#_J7#hDcQR==IHT^;V5NycaD-d&3sNA zJCa0ku+!jL&xPt5iFzNEsflBO^ZTgGlE{?(y1@ZJQ z^IOzvLuH{$>%BwRkWoq{yWr?MQ$lw`b#@VFI|kpvcgzc?SBZG7tVQP6k+Ous%c47^hxLPhSf@%q}*}W z-Sm{DX=;?rIM~@mxSAvqIHwtp=hS6OT^VqKgZ%=n9V!Zjv^t7uYKWzxpF|A$lGS0# z?I$*4rievV_FMkU6INbV{DmoMzHy4E8~f_RW{irJ)Ox@Q>g zPl*!Aa3GN)LQ2@WzR#YVFmJ~6S2e=J!B&fv7HcJSRpNb294Abt4f_Wbag=cTi&vO# zH|$@Zk|q&Hj%=`hvqBAB34bY$VuZD!%f9frS`Z|i3FjAu0G6AMcMhBlwO~Pq=wp(uD^3|&d z0lg$buO zj8mc{#?%!`YmTmuSbtsZGoKzX+1aI?6`00ycB^1qNK_or3Q1L3rt_BCh7Hhn$({EB z8@?#>xQ-YVu+xF^@0Z?m0_D3o6#*q8q{P_JFqA?qPiTuL(%eD#ZD&OS+IVaGlHYQb@l`NEWBCwLzb{vh2@m+JD+nm5$bHtn@dW0-qLm zJ$Ol5NnEW+;uvoPZDmPw38}z%i%|ln9CcF#0C=T{Vu7$3ZBbGrCMf)=B`Ieu2fG1cRnI-ap2agc z@a%1s=&_?$^nZ|vCGRN?_G*lQ<9DrL3OM`lHoZZ@se4yQl2E&<>WUL5dnB3Q>h2V4 z1z9ggN=2k&R21WtXFbUotlG|IM&qnzZ)Z+1uF-LbP}V4#N|UC7sW43T8j49U=u?Sc zFp8ab!qklI{7_JV{ZVFz|`j)zBZ!+)- z%DU#l^=(or>ayU-k)TW9yC8I!)!iT*BSaVIx(qhF)v|8L;%B?sWhe*SSO*P1u&4zG z&0o31_-6TlgHGv7NYIg5A}Or3c-IE)1|u+n&{&H!P6n-KVM8V)BaNsUM5q6Z6iA%} z7Tf}wwSTKn_d|z}x-O6lg~XF4N$810fz(kqb!U~+)u_94 zKS>e>y*~502|jS0>AM$zRDqbH6Kt1}-AtKbF`ByJ+>;leE^)>JhS_8arX`8N*qYg_ zrmWhfL zY#de_j;}NvThZvWPrAB+YfE;ww%OV%*q>vLD5*OFi)GiL+c+Q z*xQ@%%m4aaw3EF6AL_COt-^z{fE3xvW801_D!ZE0qA{U^TW+T#751U-#x81gQgFkf z55M188*an`2kI-btR_w(>Za**9enuvqJNw0%YZYsHq>XRkTSSch=stk@aV`QrKFlA zR6CAhYepOgdziLyTzdb0Xl6C8GZ56v>`o~eaPyrl!{LO4=AE;)BOpk$o(Cl@=YsvS z6H5VaDFrH8+^=y6)V8BWM{|S-pTpUZ*;^Aft0-;}VvbS@+l1H4)Ux))j^rj1BYz^q4z^OM@vPLB+nqYEtWaLBHV~)2m(u2-W#)DarpC3d&eac%-`_-VQ!kHUE1D= zPJ@B&7%v(@i?rp9oF=47kNrf*x5TNIqB|k=Tadh&IO~;1=+-Rm{kEpk?Iu44BomfQ*>z6 zf~b*df)oyc#TZB3IGhif9@d6+W;!_5$A9GIX1Q!Bgc9K5lqQ#cfD7nicz<2ccL_fc zEXg_^r4%R?oN}zST}d&>j^ZGWW1={$$D%M8V{gDyA3`X7*8}j2lN4ZD$)xaDt1;Gb zac@qfWVcZSV^`UOldVM_qRDQ^c!i*DS}tAM!A@p}pZZU9G)uhbQzqrcoPAeRQ{NM= ziVBJpMWurXib$7UBcdW*Km}<55fG8yTaF4y2c=3^>W>;}B2pq+boIT~6Z}!X}Bt99$l|)c~z&pPJe##w+b$GG3*Q05z02}IHQ|+%@ zLg|9gtfO51qH54<3E~eAjZS2c9^$Q4rlZWqGP`c?vCilE8hMLZDkoAP9r2;Jdxs$Q zO3(IazVW>9FuId%h}m}E!Xe}3yR$ra|C>KbR4c2c2~B^3Tc;g&@^=OEUoi%k@Gf(* zIZ-d55MQT*Er>zY<^ewW09u9msIDas&4bUH07sQ`?b;Ku0yh{&mLFPo_KpWWzvt^d z^L`aUW=Af~E@vWW^{Ymq%N}&X4^!+8Jje*r_-j-%D$aV*j&pi3KRq+dU3+dH1+iH% z^D?BB={-=QH*@+NW08kGq2ky|`eKttJ(46$A!LrA1==(lCIM_}(H6H+gc2K1C`=ua zCx}c!_m;j?7Yxk*->w{L3*=Zy>-*rw|Nh#L6pO=db zi5#NOt#D6bfO~ZNlW59ih%iv_j?lw)?2KK48l*o?9y(%CG=Ih|A~vDoWHG^Ebg=S|Y z8~ETL}h2DGbMhi_&3Bt)WL9q;}-hy&IN0oe6=IWhu0j zhg{~cOV*hCtqh|mhim1F z=Bw9PZ{#1M-#Ua}q!Yhq9CR@IbVWfWMuR;?kaO_R7QQ0!XhbVeA- z+kTGNo+l{@rA*Jwtq!YU?us4NV*m;gMw#RUfRa>t3Ux0DMMZ4H(V#8Ij}V4poBPYB{g}@xhIhhA@T{be6|$3K?{%_ZHs zk<*|xA=)PnmE`;mY4LYUdnI%KhU}$B(!<1!brYD>DDhx@_yJI48g3e^oR}dPs?29P zsl`_~xoz@v-1|i&yE6LGSgI|&H&hbA-^<#;yA96{$qY_)V6E~; zk#qlAz*UF0xhR=DPyd7_$9653(qwwMG_yA zjM|UHy!Gxa>_3TsTM5Z9y>^wYlMPlZ;q>i^PVFgC!EYQ3I^L%Jy&!f&7f6=KHgC1{ zJX^N?q1|r39z4t(^QYZQvXI~YGzyY_Y6VN&&kHd|po9(0%FACUs^zSd4ki!+$L^|k zv0>iQuy!o6O&3=5zlB`QiVJiFN6Wjo&Q%I=V?G^;=n81(X#>$pS;c~*`Cl(SFbU{0 zZdI~$E!cRRHmee43O1Jo-m<^%d&%<}WfS8p!}U1*hMsP%M5zRGY(c2rTkFc^?!KdG zy=cp*&ov(}P_qG?$G#G+C*vT!u_Y~_b$fn*@Yhm~k9B`RF4G_*v&l5J{aV*M-T~96 zPc?3^9+Ih24-LY_&&cE>AyUL+ZRV;-CItJJ%c~lpO*)4G^nkw^K&V(9oTj%$2xH%N z+SrWe`+fS+4KLmIyGeOtbD?@!t_zGV4N3@-Ah-tih2uFNq(*$N18gIT#*GO=hF}+b zP+9x(@IVfNt9#>t@g(my zVw31t$a0||5cW9))0*MXn|Ltgkc10E5vbNbeYu5B=aVw?+fmeJAZlocrDRMD6kx<} z3~g`LYZ#lH(efEi+d}k8Hs*A3b$Zb8z&a;@&GoqX1u)TG1G4D?L|j??-NUxU6(gUmUmz9|%F3ID`T{D;jjbx1a<+kJUA4 zKrAGLY;%o;U?J8GZiy4SQJ8eF-zg}Z=+L&$OgC>^)o=R@Lm)#n(HXE!`a0m|LEbHu z^pqB!t1<3H(KGCD559~I$8@}}5(|KPFKJ*z+VJdDtZ@CL^si7s50+2(|Ndj~xvlWu zs`2qN+NX6p6Y;2ze#g8y@tmSa_;ERW^`CpV$0PtF+QXJbVOcmdQjY5aaRC#?49?J9 zB4StmcT&y%xfnW45LjG_f}H(TVSA*vKi-3`G;wn6)1U06M_ zrnU4G3JF3F1}$+I5?g}|}ww%mjS7Ep9y5vb#;Mz4d_m^CRt zfsd8MNMCIJaWr8?S`wsPgzceWd6Nhlj`$N!wk)`HJ@$p|{(ExJnmDxmpCm1n0>{ol zL$0>noM9u-Zp(o%!u$aEsMwT4@DeDThR2e&;IRw}%a7`5B`j#?p+mPDVRDwPv_1%_ zltKpR*_2!a?n>waI!tQ95>QlBRQB7tdSYU7k~rZ(bpl15z9C5EpzR{43N$>5W)%u< zXm2bhtd#&3k&j&pLb`2CwnVQo+v*>1LZUXtpzm6aM5IQ!Jjz;&yG(+NXU`eWXpdv} z5ynU5WHT8>#fc#5HY90x*R2gh2BQv6se=Y6nE>9bWir(R7WO~D*FnV`1NDsrA$3D3 zH^8k#ul!ImI&YNwGZK7cl?^S#Zs}!L1U`X6!yr;XbI=@gIMPe}?m>RG2P%4LjLYnZ z&0je2><)Hvu~0ywGNS0if4$`4RZ9En7!i5kfqTceFt`e*oEU@9Z}yvqavw1OXF}+l z%K-GCaj^lF(7M9RTKs^1fd!-C>RQpV<0x%I3nC3bdqBO-fX5U>dk{as(RC1V9TD8; zbJ(E{5dY6`V2-OXMJSAL#A2eFJGuc*m4FcfP{VBW{UpzW)pKpj;xt85y+l5hj)1Vq zY|sLL7KWi^g&(sjr@1nw;sq=d>#WUwR3k|_lL!1LtQ%zuPP2k-X3#K>Z}$ixEt`g@ zJ}Lp#n?&14!j3_xb)gf^VK-5ShN!!Iy|1c%VA?{0jw+ztaOw;kw*sN1{CigG`iMjL zQqIadM%!NjFm$8O@uADY@dRdtLc+D|`N18-sGFjCZ0&ocK;5|lpVE>_cD;+hn)y;g zNhlh#f>?#O6DVd`#$;bh)q%=xUcZSaNXO9gOD|zTZ|MJyC|)*4Jt$e4ejp9HrM;iq zMtcZ4tZg&9Es}l!r2$Mrfs5}L1HpYo`lM&H?l`Iw7a3ZXSUgt22cvQKcL8FFw=ECA zO2dGYXucjU+8TmlPU-QWgcRIbK7!NL_nOe|siu@j#6F2hhzN>{A0CenoSmg{K=;o8 z@621b(*D`{h6aVa&;ucXpjDFv@Bc<4D2Crp!s20~T69Zy)k^CQ-F*rH0nj_0x-bPYV}NT9q9{VMJh zMzSfxLS*6eMbGI0`(ube{sX4ID9uBA*j6d*L*Gli+3%D(0IywHRdp(FvURV40{ZOh zhy!uN&$+hAeBo=-dFAe9k}&X$?xd zLYqgB{pu$|htVyGpx#8?iUqqq(*HzP6pD+kYC$SdJ}S?(&}#i)ehQ1 zxQh$0oL?9cmecTrzS(#SisSxEn2V!B5g+lNlI(lH*)eVpB008wxbwaFFutl*6Ce6( zH|&Hxm%F@XzAudy548LDG&{2VChyA(qJ4(*5r4u^xZhxFkp~yEvw3$g7$Bfwdh=5G zUwMV+=@%bdY(&A-M2+)St31L6ylW5Cg$M53OgRU^J3!ja!^X`Im=XIv{|<}-;$KFi zd`++xAmCQ)`-B9)HoPkx<{9=a(aHlX3*k8HEq{%kPR}KtAqYR&*X4|`{1km0ZJ)o2 zxB3kw-+pME*BN@~@FWR<#HjiROk4Q!r5r{bLJ66N!52db+1g`h;7iSq(qWbQX9KF$ z?C(KIua#IE%#<6rX>BrCGoju|W-1vw2M_EXAeDF=Kg=o-8ZZrRrEqhOchEd%45l(| zoZU;}XJyLU+>%?+Zf? z3NJtCOQI8#{yC|tQ0gQgY-KeoZy0X+I!J^04dMDP%`vjno3|~5zkcHil(jo$A^4@5 zo)=c(aNf}QyRIF<0tp|1qqrLB;B!ujz27DM-ExCNvVQ|SmNomo3%4sEjosv4@9$Uc zd4sZ1=@;7L9C}tyEVxx5VBT-?(nTzY&I?o5{oo*4ra=!88lx3labtlFl8l5X6YUsd=EmfH|rO78b{eAU-e- z5(Lodyu7@J!77*#6uBvsbf<76Iw2v!IscdQ7hX$;S2JKz0z{+b<^NU0I$=xQWEcD< zwv3NN$oY;;LQTO(Jd@QnE8wo&0=!4S;AFnb>oC4?%J(0{Yv=PGIxVwL=scCNn$N}C*hDJZgBdB-HSpHT-k%sBPoqit} zu`!}XKI??Wl+SDkB$_MskB-F%9FvxCA8nL{Y?4M)~VXf%MJWIzW01+xy0j*;`t0V~R^4VJshm=o9emwGkJ3^oaj z_q7ZzcXhR%=HR}6s%VicJEEU^=z#&rV&#_-FL zR|w7Q?;|50&~N}v`d?HA-V;*bh#H&1Cvi4Fko1B?1=l1}GX!K_ z*O8?P%ypg@Stv_AD4nEt#v98?HP%0AbPrC=-a4LP2VfZQv3YeFX@8k0RwJ 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⁢^RFl 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 delta 171246 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 z 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 HYtSrG_Mh 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 RZf)giCGBZ2Np@Rq6wQCozzkV$A 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 VFffU&V|f4o002ovPDHLkV1i>DF`EDY diff --git a/fastlane/metadata/android/fa/images/phoneScreenshots/7.png b/fastlane/metadata/android/fa/images/phoneScreenshots/7.png index 3efaf97368d8576ed0b0755466b1399997316a4e..988e02308612a5fc2f79a286b5d26d66eefcca0d 100644 GIT binary patch delta 337027 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 PF9kmbARW0>Y*i58Ko(b*Q-uPx0Egd@JXRopw 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

6l)!i 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

y&ZO(`iC(q;q{!H~hIyRfAMNGeUJW^@}Fy>5qd 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%0D}Td90fE$fG=Ivo*&_~p$YC+LeXwmZ< z|IiQk2mj*795(lCH=C0|yK|rr-cf%#QTuT~PUE}4FD{HR{AYjdKjq*3zx|a{hjP5J zub)2RU-)1AkG=aEf=Gm1X6FpUKvmbw@(d{zeLqmO4VA1XQ-65SVZaBMAMnw|GtSm4 zl$3mMb#aXIEcACzos8E#&OS}4RMyBr6NsZZ&~O(mw2_9bDdpqH*UEfeAgR< zdUBgAJ z@KLH_qA+5#hGp76+*fJ}htv^m-J(^j#Fu=j?1vZeu>yPl@vgH7f4PEqR`Lf8oIMdWXTo41Y)7>Csc=b?>Z z^wZCj(rulk>S~;|T&HIQLQ}Q}PhFef$!_|YS?1G8q9`O9L$Gebf{o`t9O+$Ckx!F| zJWIH}+ka3uJ_{{LV(O+P2m-<=Jn@}{5Ex^LtmBg)qa#I$;A_p((LPcs<>_XVJNL^^Ol0kAL~b@)4%QGsvZC4 zf6(#dO7i@b;l&%n%Quz}A3yMkM>}%U-0@NNm}NYtoArMDat0j+%#(;P4w;1+pUj_f zo~(FN-}3zMnr3KGQV}Rc-^2a=il%%n^T|cm#&qh$BHxR_dpGC^Z52!P4T>b@(EUg3 zC^+;bkLKr8W6kU0mZhBG8b_X`JXu_G({1R|Zc-?vWV4Lz-910)ExAYurlrw(wSPcK z!T9Da@7mXt_TUdTrx`}SJd*O5w0#se45tUlPLN6~rZf~Ouvi+~ajSf6(V;4^W<)0` zr774qB{MR<3|^CE{(vdV8h485fhZ1n`sCUx$(3XflAS5BlB* z+DhreF|D;64u!`vl|3cHoXlw=-;uX%hqqBQ2qjU%Va-V24M-)qT3qvFeofo=45K++ z=Ob?JYk;I5#tD*nuzWmb?j1`=pp~D#lsa*q>$)LL;u99@Squ+{*3rHo4u2G(jc_)B z>G?Xsq~5DJoLD9`W;96o@c*3ioowxD@3SEujEQ!(CmJOm=-BU_yaU;(==+XdX*5%o z)%0#g>m{J`#fD*ssH=-#!FoN9RZx{nqWBiA40mSBo!QXhg9u|8ai&(JCSg-2ga5<-y?@~^{evNSD(HKMQt*vuihh9SuMBrv%l+=_g%{wi+49&7 zT;~_;hT;J~N(G6I`CxXWW_wN7&T&q1-#|Mm>b~H^ zZs2UaWIoG1R+sGgYIETCpYO2aK(=}^VY~iX>~>2Q%eN#+F!?{UG=GI_5SmpFQWW+XL{M zf8j6i&;FDD3}?}jpKqS?x_E~cnhVxEUR_S6HY4wD@BO$LMF{txbx&Q)ngv^Z;4l`5 zy&oyVKof@H^!I=$3V(>>V=kX#)z4Y&7u*y}UfWwL(QuibO{OlsXq~AgTeG9-8xVp+ zUvQnCQw}u>g&Q1?qmcXfHQTPCw;JOHbgKE?&Chssc*}XRCLTicPVwa8ipyxt=j|69 zii7utjv~r^!A|b^{q0Xl!Wd%)e*3q7i@)+${t7?+$Qhjn$KCz+NVAl0eEKc^k$?0b=e)AjnI98Ju2Poq}rNI>BYx1h~2*6 zP?Qg8#^RxP9)EeiKKXeH=o|;qBq0a_ilXAC*l^I**LcH12;wlFEG2#O6@k*IszGZ!xL-B@|Uztei9D6S9$^Hy9_ht1i^vQ zR#OVCWv+A1^pZ>@Xf$op@$>deR@sU`D#qS1b`BLl9Kq9T#b5rbElLS~eTK{m=L(6Tw;ciF8VL%*(Bymg>gi^@f zu-_k0p(KbrWHU>=hilh$Ag1&I=Ox))+kgA(k04F5$tF<~gNaEd?L?GEe@KG8x4+Vg&`BZ|Vwblsk4e`jY)&d-(rY_!P49yaCh7ALqV&``Pjx%`TYz8EAL(<)Ku=&w`1aXzN83&39D^A-U#!TI zgmE-fRekz7o=6}Vtiw2;C~eGm@_%avf!00^Ww)DrV5UXiQOPEyVsH(OYcQiZnGBuK z035e=Bo~?l{~oP#gcCbR8#^+LhH(%C0h9bzOk;=x*C53KL&h&J+5Cg0XzCSlQX-{8 zOrwgyvNd};+Y_6RP(_T+@RRN5%#3C=Jf(TPAq)nh$ncl`jONe%(6{BQr8xAmM+X?k zw?0&ScqwT1mcE0&*EGY7D*YH#$h+o_i*&{J*59D$D?$~J=$LJH;Agw%?79Pk87G%H zFas!me(*g$dRFsh=lJrF(~cVFBu#Tg7~JFN3FClq>Ry-YCB|9WwxMe~`nF@pGmpC^ z5q83ZkNy?LdCsK2*(AfXF*f6fGLolfkNKbei~kaDK7Yjz{_KzV?)QF;s%vNm!6KWn zs+U{^-V8`e!TwNC6ct(Oi{)9MC!POvqZluLO1N08&{}aQO4`nkxX13mIXC&p`lXE4 ziuug@sitYdlZ#8Zbu@KL+fN0|`jK>E31g#i6XmM0A3NERhXBdN=Vbe3U8!{L61tw&~Y#((&4{k!~ofBD~k zL4}sf@5My(fH;+;I^v)B&3~44ddA=Q?Z3h9u%~Hj%Cba_f?xdnIe+@sf1Rou`Q#hl zu*ZH^qpMM!CCI9OG`hUfIo}Pq2$J{he z2eWi-??XcaO<7gMama3W;C{35%RcQRusj~wpGNWrE~;-_lBu&*(*kiAyy)ae$2@xf zj^k0N64Ep+_sx!qnppU71UWGioO4udK zv4cHQ+>ZB`XEFmTe|u*l2I$lLa>TZU5K|VNr|5ae;%I>H_c2m9%CVpsTEByNFQ?DP zmMKPO>CH%h$9Vm-JaxQX7gHRTC?!afjmN|6!;K;(=%8RU*C)XF)bmatbkoe4k0Cnf zPHK;Vk-aO~+ZNYKW}%*J8!g-XhaBRMiH19Z<~4Emnson)f6Toj3ObsdC5Rl>K-Wn6 zLDAX;b?}6E{yjwgG0(dM6Rohy8!rFe{m*%lU2+xsDD~&NSG;Q8(VO8!_3{cg&F$SK zReA9>QN;0rJqRFt_xr9+sYcDAE&1?b;1B-b#{@dy&;PkUO&Er(@&o^0_WnEAw(P#| z#6D~1bn?0Jf93AixdAjH0TKYSNQtm0(HhmLES1Odn6k!6W&h_YmuFlqS9zpTjb}-}?Q&K|2b0Z84ydg0kq7m)G&EJBrm8e=8SS*HZz*Fir9-?{1XisoI^X z8%S|(WC&oJ7KW~HhE-LOXBm6FDLbAL8xm9aU;Xd@xA^@4Ll|UbjA2<=SnTLycE)2& zQ(;_HH&Z&}F zW+_RWD5*myR@s^DFtqv%CqqVqk)o?6Is2D)IlF(%7yrfYVmgAWAG6W>64wfdq76bf z5tiiAl|!`G4IbP-V`v53IJkzWN|G?*(%~N8e|qChzV*sCScGRRQb|I{jhm10Q$O|- zn7XcNuTjdu!6km{^Izcd)oVO);|X4V?G~cRSqy88?H#DIySzqm}ULISJ>XB zf0N(u`D~i|D^Uw%ivjjMr#rSJ$(p)wMc^xIoj6H}WTLj*jkS5p;3}&UfxxwtWGH6S ztEg(q((dBM)hS#VDJNy2Dbme398T}>#=5R6*kog~)W#IiWdF8hHoJhFld}c3Wip-Y zbdsR}gML7kDKEb;N-zw)5r8jMl2xURf61umbdx&?&1R8`;$et zZBplu%-^AK4k_(1JN^z+cSN~(8z~jt7$mZg6mi8eQ+1;_PsyvIYcv=_BhMs@<$hDM zewY*?gkZT%Ii5%8xV`F5wCptd4B27d=A%D442`c&!uR_ag?!0 z)oQ+7?@?DKp7%De#WYNcte~h>f3qy;_nK8#Z&cK@ZUPsDs;OzHg`y~nMgUuF{ajOF zqNS81dB(MC*U_btQzzO*L@BKQP#fGaN2-vx9GMlBChC|>&l9Vh%CCZYd8S~AWM1)-5Ii!d) zb|zB{(;zJ(7U71`bb#kte>^z3&uh0{|;V@$99JKTHuZ}NLz_yT|SPyalYX?E8sNfK<^K{xa+3w2zZ z^)|c!E0dk4Th=IZ4F;+dvskPZI-yqET*t9lEY}x2;OuUpElbsPe{UCG*_6ZTx+Y2z z1s`j^PeD&rsi7si6`oACIa$;~|zQ&ZPs*bhk3tdo`OBxO52iHf3V zERrgTV_OQnB9vCbW)l)cG5vmze$VfOeOlQ}+qRTVd}G47T5lV+UX5cLh`OY#&nduC zp4YsUQ?qh=u4_pgf5)B9u@bV^NQ;=T$S@jb=!@l~ruvPEz|nLiOWe+IhAtr65iEB=Hb{$GD z!d8}%f?_om;Av7bpC6JW)9$$6ndzo^$(LTb&*?Jelg}J*^U4rIQx~hK;OpP`1~>Ni zxN-gZ`Ibf38TMVShYM~cuRASefP+i-qu`p5y z28}pNsg0T}e{Do*bPe0K*p?AJ5h(bd6quM~d9G^owIEM(2K`=RDK1$o)<|UM9Gm4i zX48Pki;~HBsJy?Ho6dxC8^%oyPzCfB@?ampZtv&2%y*e@+rKp<$aQ&yF9b>Q_v>5d*h} zsj2R?FeH!cUP0G&-dMejq{eeS$}H#XzDfY9I3rnF*yflhDp=0W@B$M_*3_v@qG-#F zN1mXp3pVkVAn-}E6rmeD@#F`{;w|g-34!ObT+aDBfA4Q|a&*N1~q z7^Qzvlm%IytB$>{ex^4L7rL%vHRu4_HZcu@v)O_)%cv_wB#M)SQDdjm2HTd_tp2Ta zL9o+sFdDK#l~ZfyyB(!sD7!|m-aKb?)NzR}e|4Td=yPpg;#(SVk@Cvy7)KiH_+$KL z!O!!8G*dO-G|ig;C<()eAn*x%yIY9jBvoZDU1MjeoKUhXS3>w@D;X*qrkKHWs%+x( zJXc~triv|DDM8aa+JQ0NcGwh6HV3M(C2NhO&ZGE2v!M23*!E z+b*dHwFl^?MGcgt(#O=WD2kdqhs}CSf12*mvPUjvx=B`2RyBvyfM;$@$;%U7xxHW; z=Y0IB1NO!N^OM_b=SN)n*w3(9Zy61H-NYUAd)%mM3~SC?YmfP6q*ly$Kv~#$9(cWZ zr+yTL5##Bk^LeW(72Iq~i94r_Zb2<2mTh5~R=4#lC=iA~RBC&amKjNzV4*CFf5u}a z7*bU=i=~pma~!+Na6DU0cGEOSlC-g3j|rowlNT(@k|;@;j0W_2KHD&+EGq)vBJka2 z1(%>n{My07RDvYH*=(WA3i|=OJ7dyRJy2Cuu?=IwFs9!R6a`rbOjB>Hds4DI?*vcU z?eOK^J_tck7hMhf2$pZ#%M*Wt~#Ud0V;Dw#YKV4uAy`1Hpf0!bi%fBt!R>n`X#jlGiDqev2%$-hye^dXLems03I%U7n%!GjDxH=+f6C+g*Xdb4>qPRk+bOpf zDG4$C;DoEu0SEm(dcKF%f0)uLvO(09RxHcJb!^fsW4(ze%aT0L34E`kI&Z^>#d3}B zsUFOFvu$*U`<$H2SuEDOjkELaUf|6U^ z*4aafZx1J<8lKRZ=$3+-O3_%BmFnC~LlG#1rXgt@1L}r0*2vRkf2m8fy@F+Cm_|Yz zPu`P8TvY~1G{m+;T1#+&>@r{}1xeh$aBvq^f2rP2Wl$CmyIpM8JKg6=DKU2DRK0>I ztVxRzWzk31V;pxuy4j&DJ&N4v4<;yJFoNTf29$pC-?a1qo3qdUgyQ5kb`iJZI*bJ!_IWfXf#m3b-AX@Q`V^} zMUiNjFo&e~Sz8tc0rm8_afGC>ICq${OFR&{6Ar)wH$g0xDpD~qH^ ziOU47)|8~&g9JlDnd+^)XX zZuhofL?KFUMMq>+PG003n!8*c>@yw@*@hAG<%;oez>VF@*h`zYqB}T_uAG#Gq%vT$ zjj2$Lx!uW_e<;qG&9|gUhAc{+z3~KfQSo4Q!p+OqxqRs|_h$FWt2NQqCQM9Ox1?!dibYj09P|{+$}p&< zWV>y)=e>YDSJp%=(IPJtW;e|;k~Hn+K%N)afrV>17_r{5)s*&v!s%*_<3v@JP{Bce zmnSASur-IT->!J=xF$?BBtE8jg=N_zGYcwh$zD}r>Pip6^Be~Kpwnz9OLe}Mr65^( zmNRNhe{1VnB^H})h-oUzpt?acShlJ|Ba~)?N=tk zQ&uUlN0#mp^wxO(k}Ol%YFRcuV_nwRG}+=lf4#nHvH@s%iRUj#lOEs6ar6A=@?F}$ zRb`^gB5QJeE&-}5 zt1^_dQm@}JCx{wc;V>HY8I1<$n#N`uvRH0#9E(AJ*tqakxQ+08lB7!ZuVJf%VT|WG zOooF7Zf10ndaCQKngc~yA~c<^+>)HEe`^9qGVlbGKrnCxlfXeX`lX{`pEyame|)Ma zzM6vO1iq&b5RIF_Y_@17yNhL+-3_rU1>cgD>ToZ&D|D$S;@c=}m5Cakco%8_9_MA-sGRmbMiHN|9Yy$`Df zCDc->wMsz^_xn3MF}{JNnZ$X?n`ar@#ARh}q{lG$QOnkvGS-l(AI4TP>OKS-&l$E)=Qf7h|;1%7AH znn(eqz%^(zceRd*7sg5Vd~`6|*5yOwEYg%(@UCoEG<}&7CIcGugC;IC2+v<{=t9HL z3?;(SY=K$<6y4AnkIxWVrU(Z{itEkTZmzs%AT0`qH0=>IffvAaH<)JHlpNlFv?UDB zTPtj3=2BG(qGgyFkKWAo(NQlq^>Efl2yGXuXD=MCfrWm5p>_{ zdnJLZ7%Gn(4!J)I`G>#t8qYnp%ZDD@<&j;3eE24pp8O21>mX~1t{2$;idw5!v7t_C z%F{}5#QOo)bPanxV=1<5>McoH6K=0iRUZAGf@GyhN?q2>jv{t0e;F8t+K!u+*IX=KmuRNh)BQdU&FaxY<<3ZA)YW9k`Mow8mz+?iPjO=250H!q*^^nQ=P3%cyK zZZhq>C_B+_&sAAXe_K*mZ?>$~n@%`;Fc@^ry=0q_CMiO|!0qE%s$2iyBjYftd2|MK^V z!nm7bnh>BXO!NMZ;OU$2-~S7xcdcEBysfiu>wa4lWoOls=Sn56t|e)j;yN~#Whs4Q z$7$GGst;h9rn0hW^bhi;KJPfT6545k(}2cD&NL~DlDtr_b3I34&Xcs8^I1_)p!zGN zEUBf+eCwiSe^~XHx)VYp;%Z;%8n3b~j&5SRr-=9v$0f6;UXe_O2ujK&u6PU2mA9vXhUz zc#j2OJjBQmqFdoqbk7H0OtoF##;JXC- zbB=nNe^pEd4!`)Bo4j&+!IxjU&s+C5JmTJC+M6)kd$d#Tv8)WsRE!mYV5x1WvWoh& zW^ZRoFYwjsJJU!rNRtV5t&?W~(o-Z8&-X~;lwf4zdKT;D8n5T$d%kK0=8FASHS}Rh z$)UT?L9jzF@ReMhsa$J|qGY~Uk)(=Cu4#fSe=Cr+3aHYt3FD;OLRM9U6cQ=Gv8)a> z?s+a{S*kKbS<(+YwwYiV3oZ>SM3wREB^@i6@%m{7Olym zI)1vQF&y@&%9^wJk|;_T3<3h*XF3@X1U{?PrmHV6S8Hrbf&6>6y8pIjqYI5J%~T!K ze|8uQdW~>NLYn35OvfZiq#8VR&32R0cO0xyKqWQGqQ)^{yIx`%233(`yB2@tfA;S) zU(Wf`SAP$oYn-mO938JHB~+q9vjnE2A_&Y{)Xtf5nFsO}JniMqMp8Niv25iSIguVT=$NWm!P=1o}Cu zxmJ)y8MdVomEoX|ZQHEZTaq;GFt)opW8yevwca+@zEvS>`dAd)%W_Ihc1^X5aYWa2 zghYwDH%;j_+kNLS+Bd3fS0IIKe+1DbRb6&7re%cadW!2V$TR;v18J7}6uFD-gtUz; z&tElN{`ZEXy>key!n9&cE5`L!v?R?|V7$E;X`OLgo^dF4v4q8}UXs-XQ8*?H+idr} z1%BFvrmAbc{@N)o-I@_NCLeurpJ#4Nxwb#x^UuG+YsVQ+|Lms`n$c}Le;g-4*K2C2 zbuyZfmM|-q$WzJQ&J@pcIo#caQ-jDB+%F)E0;)Qvsw93erzmo4Ph&otseo>p%9AV4 zkg}$zD~c?qDl2yF9rm0lJ3C_)G^$GZO2sM5^`_zMHxpaeJJ(gE04B(?yrT*m(jc!D zyv?yK`n>=ll!(fFxmGnpe+g(7L)YZl!@ALrr~s2o!47xAdt}wC1o|$6!J2iHVo6nR z%(A@k$TEnNtg%@!S*I!sDa(@0HX@1=#-jm_ZLzmEC5aQ3>n%|fvDt?7f&f2sS>|gz z%|SF2TFbIj*&&RmE2Y*o9Q1H(i`8mLUMT8lf9zv=$}yvq0@HBVe=KHbY07+ciY5&- zGi7)8kk3E=d15_Bw=BljcKP^DpEqB5i#K0;6Cr904~nWp<`PZUsVg{naE2jm?!Em2 zSNAUSsgHkz-+%t=tX3<;yXKr^*cW{GY50vVL7F|B?Y7ThlBR4nA-b;P`)-Fou^Tsq zx^7rnRfTO^=#8~fe^s4By`)qDoQCyWwOYx|BE4yvXP)ce`%3sm)>3J2thc0@@+#~1 z1GP0@tmyjzSBCq*XPJWqik=s{$|Fy1(YFqZOZc>VR*)dB#8dt=IV2lly%5u?aV=S9tpALwbXq?mUH% zxK4_#nGCG~rZA9&q$+DH+eB0vv-y(gWQ6P3T-qC>e~Bf!*m4y5tg}FsD(n(3$f-*O zU(rni$8spjqGK*un#IuTBauwSh{3l(2W$KTfGq8IE!oyI)#OfZ_vcWnA z&;aF&yyzNdZ9PoNy7A#E&qeH!lzEEq3&gca`{a%3YD-+T%^4M-8^1MVB zI!+^`BO5$q>wDE|vbN=ms;Y?MxbyFt?2d6KHc=d5=mnN#AWQ?lXHv-&y$;Ydja9f} zm9AKBmz1)^@^mnC9(m>pRsgTR{D$iCR{~i`e<*YwyuL=WKzNX46<`0>D}4OJAL7{$ zKFhED_6uBWo3+vpA9@mM2`|0=-aEgR%uvf3S;1x#VmlU|tL{-%*3{kWD)eTd)*Bln z)#p$h`0;4iz(SS%`Fx>7!5zn;sw#@26=6~)lC${|faPkfBsE6^02a%&DnZybNvwz~ ze?7;);0Yi*wXY~iFonUj{voDrFt&$$a{oih0<5m7iyEqmqMV}%jRQwAwJHQQMy3%) z5u>V)DGa9l5u@P%A=ELnf4cw$1*^QGmgk~M7o&?rHYHDq)Xz;a-)|VQ z0di|7u@70R!nu@LKny8A|Rwb+DA>nq?e|V$4 zf6(okh*AaKYX^OLJLTm!@A9Fs;A78yh!%1J0>`Mi>U#7|4_7$q zq0*JVoNnm&1D7~XI6a#)9gpyRm&3gYy1qm|30YDR^iR>v2q7#mRnP`Wnk#{8qtQ+E zEsv}ACCa?O(DX(fU$WkWoR$khe=Q=dvu;&(g@e&_YZVhn=`iTJPOqo7Zh9jktul9| z^}5-H9h~POzIjy=Cz-NLckHHAp=?q{<^a=B&dy=j!!#|9lQEA?lwkL4z9h}^4zXa{ zRzv708}x(dTrD=+h%izphhE@yXovMCM2|H3GU%GVZK)*7lz7mvfvyQ5e^{Hc3g8{Lgvso0pUfkiOSKi>mA9#$N>6pcQeR0Oo^97&$5PbdHs?_k_ z52a{a4@}BZNo^LPI?sOKf3x01RC&>1Rog69qH48elj*mN!lHo?4*ESN<013KN-dsQ zMpc%0zQuMM6ZozwF$x$BmFcCf>#R514r5)GC5e=znQCZh%{IEt=nP#)*9^+EVwG<3 zb(gxTsdKfMl_dKP+8^sh&#@nJAJlEl{x2y2(7Ho+)2^aLj9(_j%!W)LcYPBIRiiSEZI!v;z zX@pfyRDfaC9qaU>$f73HH7VFx>&*{Bg!iuqw0iizTAHoocN zYaXuVAS4w2eK1S1f22?P9(B|rcgT_+MsMEz%yG9^R{S07t}6JRuQEx}C(m7MJ3>m) z1o@g(wqczqSvw(=Ap2^0i6rj7uY~2p-y1?2ggIg41ltT2IL9 z3W3%*%EshrisLx+`hCJEMAvj&(?Fv{NUhUM$g-Su5)uoAd$nr8z7f#VN0^NzjpJAZ zO%tUZmZ^lL+l8mS4n?7YtLM5@Rn}oQ+Z8{}GAv8+=Bv6U&kM?`Zj_p8EN2d)z&1nj ze9D`rA82B!yt2LrBf7qU-NKH@{HCq|-@~gLa_Nkk= zj)RmHbzL;q8%6^-UBL4%0z$rTHdIw5MP58a%}%piX(?QwvC0b&s8$rbu4`<|BFl5u z+YrN0p#Rls!_IV!Wtqf{Mnb!Yhfz$Drue?gputzyb0Yv?UyxKz~t} zHpz1Gf4o4i4Ge^GY)CW8MnhqDr~i;g+&L{@qBo0PJ2#bkaKU1s8ts1IQI-{HmSbC% zqTCC?bUfm;QaiNCc%aA?QPR!b?!Q7%6a`_Fkd_(CYRyJu$iidXphEJzV6j=V(AU^l z^zbn?15qh!pH(KQ>Kt3E5f{uJ+J&Mm0~K}2e<>xAu-UCFMw*EwF4TF2Afv{RKvrgy zjqF?{E5)+V6l%fOU8edNTT{%Zh?q*$*e2LcMw$i>)p}J4LL-icc)_yER@L@8{;mx# z(QRRr-ft2QFpP}4)(N*$`u$UMqiDp!RnVQCT_?}ZZP&k3&{cIC!JXp`FTQogr$2NB zf5+1K(u>Mw=WLbm;B>(U9~pCa>B@x$9O#;4r(dCIvI+3#a)G|ZM zCQm91yAd&}D_;Ee>-@}*|0t8u5LxG>+t)z;JVFTWpTOVw#|pbE-eZ0WluudSfc%9# zpIc>FDlbFXVoOEm)S&9bve6eXf4e4>+VQC1QL6=hLknrhcmq!~frF>J)2>bh1K z>nLu5tWFdsn1;b<*k|3C#X62n-RMLlN!kS-P_|V?QBoHry}-x!z3w=wx+cpMSw_{B z>xNLEcLBX_N?x+jbMQT{DSzpWkdH}G7OYkqM#DaPyAy=aNK(}lYwNO|f8U+1lE4d+-3BGXHbsjFMEb9$hJtUC^f#!7qDXud%Wr=CV?_WNUvP)WZ!yu6*cdLqd zoiowS1Ms#knbkQ)Rh8;Q8z`Bf84V9xeZit!lgXU1KBOmn@;WCg1e^69;db~?usoka zkR}0X5@1@XVwaWnduGSqe<=V<3ETB9aWq7Tnj&{GjGUl1LkLM-8?2Ux7lQ8j_rL$= z3bs+sS6@A5+;^D_R6x6NX~=Ipf1B5DpVE`3JpGAJAT+hzY1P^WuHe$ZgbU6O%2-iR zIKw#UAXKW}rY6(8p^x?gpPlI#P17+#g9RH3iq6p>%QNyk!*LyYf6|52A=4FG%yBHr zsv=Gj#;#6Ss-f2)q^=Gaz;^;H2kX=-@|nx;$%9mi6hdnhQ+VtImQns`)LnuS2e zvn-Mvs3DCbw%ZkNy!9F7T$kw!na;}okt(J&gZ}2u)P1Pe+&=)ByRt4Dk-6Se^ifb z=8_U4swj%;!aO=hZYXw_xUid1yOz4HaRR@Cp|vbTDJ6!k$OOH>!);iM^TmqkWYk%; zhYhi%td#D;MQPG)q~LACL62=1vEGE;LR}Wh4Z2+zEz@8;9^iX!Cwddb32~B=rCBrQ zR2kE>ER_Y*f2vx5W@(LCYC%z`*yK7kR%5{vB}t&Y~)n zk!mJ$R@DYk3&!->84a;4ll6MbEM5|tF|vk0dKl8^be6Y;q?8r5ULrK}J?~%H*ri?c zo2;cIlqIpOnAZh;be6IJ-BgreU4QTHo8pt#Y|DtGe@f}=J>uBqWPX)2?Y-}|UI;}O zUd*n6kkpkyUF+{6M|}6-E2%2uAvDBlc}SM_aNJGT$U6_Z-{td~|BKRsBZh+kzVBi*H*>QM(R7``QInUA zm3Tu16{wDH>-yW`ak(Hsaxp_`7mD_dx0W=vWnr3nXHV1O5!+g8O^u=3RMNn9)<8u7 zBSGB05S&n!I@VOT6y z5u<&F(T>OKUn|)jNi?BjqVegEJi-6;Fa8pj_NV-rU;0IU|Ant`ayrMbY!w93g1jjB z`Zr(ZxqlBl#Rr~!j<0<6%iR0+|Bb^Z{u*xoX|(rwXxpLdI^)rhoyoXiPsxVDuW0

Vk#KW(k0%!|(e&%w8|;v(l-YyA58_?M!jzxtm4DV7!m+U(yC@CKgDH7xTj2Vjbb3sdWjL`-t5(-1 zW^A!HJK$7f3CD4WqPP?YbD==^h*Z1p3J4u-SqGL=C|o5KsY)4U6CxRt37zH=MG>y2 zt!(Y4+eEVn$8)q>Ytqj0JWESiEZaTKF0Rw8*V!BN8ILD8IJnXw4rAgVB7cb!9M>gH zH4%;DIy!2brqt_o!dVE$jkPVCd{0OzNzuws<6=IRu$e|7t$Kr6;Io)@@$uM>_n4$p zkh<5GW!uP9;sjdJ2uqNr2}zRbjX++;sprHNHW+I^PwNSdyBE{~T-PN|Vr<98GrZF} z2B8m&Bu>aOiRZc4w#{TR(SO-0CU~p!ygdy`IF4>^m_(#fyZ?^o5N0u1n&LPv9y+}! zP7`D*iK7_Lb6MyufKZHwWBgj6>->d{B_z#e1KV+klbE_+D`d#F9YEo@4z{a5H>x*M63#o_UH# zAAgijuUzHt{_Vd#j*sCKk*owXEynJ zfBWyzY`56m+2!oHvo$!*m}av^P^*(99!j~i+O5K4$TF9Mz0*49xAMrzx%6BpEK8E6 z4i;K|QkfA>XS(33UN82OF6|_L!P{ySO>$+9l!`cxiNmN+Ft%+IPD5PZrPyji1_mgb~V$6cy;faMy#9>N*I;0;C8D|p$%hx#YLJy^2_uzoL zlP!k!q)cQt$~UJ%%*&W#Q!VE@4xa02B5unf$UK@^oyA%Y*K@fQ-y^Y7o?U#DY$h2D zM+L-?w+E3@vK{ZSo9$zN**2c%(z83PyQ`+5WyUZWvzHz)Q8R6A2}@(RNkR|=I-SKN zwoWHgT+b~q$$C)NN-I{Z`MSxV>k>Q5OAZ$XHES=q(ie%c^<7C@oN~ z<#5TYEyH4F1IhRv9LmxNd|)vNsjK^c*q)fhl7piRY6eb~=;gwcOVq4nVoJ^-kDQUJE*tS!Ys7|6;0ZUnyMI31h zuHDu~Pn;$iit%e23N!Pz-dMp;9q!+IfHVza+wC?BD~pV>3AV8DGKbqYZxc>uoLWD{ z@~IV)FlK*$pT(6WLL%yRjqN*I?CtGyYJC-{6s=Z^TCK)^&h|FTE6X^Z!*o1j(C@Q) zYL(e+#@@~z!{HFyw)rprv;T@;__zNszwk@H$l<{Ow{F}bs0DNvx+HPJ+WH!My9Y?s z#IK*i7BQpY4LY3$p_}m0J;CArMkT*_{-G3jUc}1EJv@JcW$E@%qrs5rWJFvMkjVu~}xygLMx{B^7?4arV3jEf28e3fr-4Y@rW9N7&l%wk%6qkHW^X z1)k^Oxh`p%70J?Gpj~F$vRSS#a%N#2$91?r*&&fBsnmrEnNb*i%||K4XguODIxP5d zmzR1hE_QXGW$G}tr$lMQWHM%ZZwDzemKGL?qX@@;b8%gpILp9NbUPh_T7d03%qCOa zr@rQ6J5CWy@?1~%j7k(;zr|=WMr1mNE+~%#oB4Oe;?%(uxrwXxmMCqK)I&MbN8m z*BHouA=50RS8Fq#=*=W$H3d)5c3O;`8L80j%}`EgWFxwETa#j^x<{UE+jzny&SIiC z!goA8TU$(?XX?c3vM8sPN}t{>(O|u`!b*3MG|Tw-?sY!ezJlKhNL{HL_XUE*`Xa9F z=iV}e;3wajOs)4{TT zE&8J&hslt{P7IV_p_J~}8%G-3uQfCweU_$0fG(98nbOgBsU%sNk&==ox_6hz1eUM~ z9IvqCT*ocE#++-~Hr{NS>G$T=Zk)uX>on|$13G?-g>y^TmV;7~M5f%E?Jx*6^V(9Q z$LgguP!J{&cg9;Zy*iE6Hap<~lXQlEZ+mps+ninN5G4_|5QJ93ER6|PnjB;!!cmAT z9K6LEQYb$D@DqObH-DE$AAf{9x9;FN4$pk<84kieGcV@!ljlgYOv`br&R*O{bZxRY z=7YN-uH~`RJxh`d7)-{DN9#uEJ~W$IG9bV{K_2#dh>@l%&rYTCJs zjQzAv-Ku{fl;PPxyVs}OWuz-PaQb9IW6HU*OVflf)HokNJ!r5fx}586(5%-PjK|zK zyu;Pq8{j~@)y8vNq*Bac?Sf@Fz9uyWD?nEV8expmh&0P^l+NIo&Zfvr;`#c3N;7RC zNGWO78e}phOmtw=_dIGrK(kRJBV!PbSZ}Pb-dumt@QtvEv$)9os6K3AvDrMuLD=Wk z=sx{$WDYTnx#cc)?!hH-OdQ8}zOO4Tm4?wIif}T~nH55yjM54MAIEXEN0TP_u16*% zeh`otvUaH?StjYI7MrzIy6qNmoUl9IXQpOY!X`G}Paddkx7tPXPidN-dag&9M5dRR z&NzR`4J3tz1T3NHCw0_4GuD+!iE?c1xrPzK((SKoVWEVL>+0*oSyE)~)M_=9P;8HP zQ9$7NMFx>AEQ8O&IG%AZ8)~b~))w3>4N203>1>AM+RW^bK{(WKo;gGU-`DQBi6uyL za0>-9H{yw>pCC;VKK}3%);8AoS?LM^S>`aFwCQ<6V~{~m3uv~RI`c+Q)-BjJD6nkZO3HKeeCEYu zj_VdBV79PLMp#+psGtaZCP{*$EF7IGrZ%nHlS=W@6Yz&VZxJUc=ax3X5l?8>Dijgx^%Yk9 z1;*nUO6h21W@YThhYX{UPHnSX0u__b_Ba9VlL+@k2c6vqTp!$_lT`Off8KkaUbDmL z&Kg1qwx@dx;^?Oq-|L!saUQpu-RJW*`-IhH{Rj)=mBFf!Sg*G1dAf1lmxW^ zfKI!kvvFjquc5Ss1K_wWuB$U+k~kr=EaF&W@Sg7xMmpobb{q|h*%tL$oh8xZ+~OvS zy)Kp|7>$~JpiVmr18I$K&%#tD|;P{<9SIEtB!CWvLhe>0!|9M8P`IS?>Q zLv9W3F^xlNK~Po*T3X)YBqoYteBWbn@qk8i#%$Uo3fm-cU_2qs!C+Y#mYw1{DUK5{ zo#jC{h-Pg>Hz18C8mn$L3+OP z0KgGe+4VswNfIZxf0o0U_8L9E&Gu}cQ8F=bLWX16>>chCCke}oOGr!Uz>fgiu?tE; zfmYTz8&Q}^ne;6E|Ln%R;x`dHHs)%~6p zT=QsXqtdY*ur+Lz$_$ywB2cT8BFpqWC8n<$CSH)4Y?_=T-2~;ez-3v=csRyN;gPj- z2upB%beBmyBZ@*C$I;kVk}?Yas)FOvJ>y)IWC*+RSu^^h{3ZpGnr6=rmABhSgiMOTnA#E zH|zV_;=qN;bVi&cEG_gnwX}rqc-$Fne{n#cJq}Se1eR|+0ZoWpRk})HHVn*W+6oa8 z0ukuKi~Qg!tYh{6qwUY5b=%IfKJYi^nydZV-Jb4t((Tk-Nmehn$ab)B4>%Z1=u!nK zQVC{M98x2xQ5iKVp%^2?Py_=NoB$ySjWHO5gB@(yk}b)SCEF5KYu)zTbIv`@f9}3+ z^>fbp+E)F($M* zmW|qS$_0&YFNgc#!#;@%4)^z%Omfzn9ot<=r4orWJdh4gOak7sYuiy?RN01m^$EIE%!>)< z)sCC%*GN)fZFJ#*Z`($y|8(dcG#&|ov|(nwt+$--E~xvK*Y7>bJf3n=p3?^kU6x+z znKxS*M-)XN#shyTc@lL)csJ`W}uWt?SQ(KRiz=}hM7wnu9-UR=&Onz|t|Ll&Wt z*CFs$Y;VQBn#AG~H9?zdq(f|ang1tABHWU$#l*4z9Y!(WsoI9Rk({{5m~qZ&B7=_t zp)is|RH4FXLdIQ6>xUFRe=^@3E&;7YPDmszy9&k@n;1+unAI?nQjF{vA9f$M51Ei@ zBFYvQWL+q{YB6ccM4yiHcoUY6);W6Hq18D`-N5?>#Ixb8tQn=dizlRQ`ZM*T(v{pKN;{z?I?>$}LfAfZ`PolKq=JqbV zlbfok8*FSz)0FdzbCl6cr&F4yW>=P+ZO`eIMJM8-$@5&KGq$Df8=A7lsRHj~zQPIb z;o4rp|NXbWo=-e~!QcFa*GP=wkAC1WUU^XQH$U78kp2f2^*qOb~VUrVrxsbs$`)hp><<-l&a#|?1)Xb1iFVMV0@gYnoSd<@CsyMmj>#?(?zvOWxBv@B>VSyLdG6)! z?1;mBaA-Y-gHdZu+qJj=?J#O!nQR<9-g3Q zw%$|Z1(R%o^Kxho|7;NYM{#iRIY&p&?dC40r|0NXP1%*0*f7Z^bWQ*xbuA;S$y}CS z1CdM~C_6Gyf1S1HIOcBofJYbCxH>uHqFIm3*xp$pB?sJgyJa?;i{iyv@>ph@P1_8j z+s*(0fB;EEK~%~TN-NS~Dd`;Xs4@2tTFS&4uBL}v+dm@9Qktga?%4@9cX!xQqGOE@ z?l+~i9I)Yl2Zggz8Fji7cVp-rA|tAb-L7OZDaevkef7i*vEl#AsFj0iHmZqu4k&*Y%)D3;tQ%rK1Ia|@N;-R%2ZQF)w zR)PlxY2J_yKKvXKc^=WZ9;39dR6>;3FrrjSg~j0|nyKmK09Hzorn3AWR0MMHUrOeN z4seh#e_AikZc|%!+egAV1bNnwCK?b^koSJn@!H;!Bog)21ujLb#F;t#Tu~fdb|K;O zm1p@_ArCIYp`}+!-jCSCm{`jkPbtlGF-0d4t&`=8@`^gV;AdxN6j{z{y<#~NRl?bY z%tLE0KkOvQ=v~jc+Mr@-)h5#kaTL?{tz->7f5cJsz&oE@@Z955iZtSwBngeS}m;#0$Id!JJ-u-KZU|HQAFEz!N_o#3+27XID~KuRWVI3GpEdpB~@91klryVau##3f1jMKNYjMHY(kNzY|AZ1$-}a0 z*VyQCX{N*cxNQXw8i$B>+lvVxjg#PTf2>FStAen6>gn9&12a^;Lj{n=(rs8oE=VK~ zahxU;Nk%}Y2BKWYq!80X*LUbB5*Sf9bo;I&j$_h7x`MiIxwkvv`t+FF$$c*Tdb}{I zx@5E71WC7}s#}soR5)$;o+!p@uCB%C;8V|byS>zTde2dGz>R||#ED_MExC1ef0ujx zDQhcAfGBWgopqShV01*?^+GO-^w;3^khiC) z8#z#8IZ%h?JY#h!7kUy7+^*}0f1`L@;LC1;@gi({xnScY3!@4(+T2YPK`NJ?31^53 zyPa_q;9TgW<#2Q3<;GYn?Y4)s?bT87kYy!!i&nDV>VoTWc;=1CMPa0Y-j9XXAoq;I zvTfLP4Be4+D$LFOI5H%348z|uIxu!^5PnyE&3?L&;c?&5RN}WTs~sB6fByafi@gQA zwqn(81e#N1E?8=Hre@FD4rK%h9EEQX8 zBa4!req4rlJlaIGO+#H)B&i@Vd)rgjwJe~Lc-+WGQ6z4^$jAX3f-IY+kt#@gc4bM| zbxguTJ*%|Fv{vg#kFS*u3!*sA#%i={Tk2XCe~`m0(hi+f6phOy*#)%% zhKcleAi2TVGF-M{F5A=%NKb1oWW!| zVX~OA>2_4T99kNfET-(%TecT#w&xpWdvlRl)lvydJJX5#ZNyN*>y8Vayjt+rKXjY@ zY0THXagSeqaUDhwDer!2L6Jseu{djPp42>fHRlg~f8z~)?z3ln>Glq-3Y6)`5J zvJGE4dx?X5k4NTLdBf!OU}3kdNurokMeH%BX&Rbds;`}|sG5dZUvQA_%i-u{`BC*1 zDk_Mgh;6%*(TujjaEKL~-HzV&93AZQ$l+D&J;kl&oUJa|`I0#^Sr!KAS=Be=p*t!w z+*ek`e?!bTs7pSo68)srmRT~zdC$gfxUg$fueg#NkOy~69+obP#S9Z^&dygftsDrQ z?`d7jz4Zx4evhNY9_!7HU0u=jVg>iXp)<6MCXUJSl%{LhZZ;^bna^gJD57Z_IY_j^ zhm0w$G&oQ1#r+s(VsdGlh9pho!D}1pT2P$Ee;7Hy11w0a*utt`rB{-JYrDrcG(IOjQ8UvRg%M?*)RW+J2yBOGg`s_bk(y3fW7H*n775R7H?GHTLe zf2raEueWX+iae*tijZ{O(RD4eiG04Az8w_6gw-`;5=O4lY`?IzjVQ0_{p1G-%t5dzwa3UZXBfiN8kE5 zw@zyQ<}bWP7nUD*xecdz3IX2koa3xnu{kTbJ~`qzJ7AjSv|S);`5ep` z1okRB%EXd&(*mUbqh{XltBe{o1x@S48u zNwv(fVsEgmBh{&xDXgVKmRE5XV|qoIBQw0R-|dlVm80rqK5~tX&b7lrYH*TRi`Y{8DDkf4cyw^gB^W%_6N_vz)I9XUMk$$6e5H$0%h<P1*J(n{LMdbvNM+an=b0CR7Yj zZ0Oo9R5k+aXsd>LTaItgvM{{w*(E>msR#VnC+@L7i}_E#`*pnI^>ZN|IZq${;~W^R z_P3(d&Qi# z7JAxoc0kj%W2F!$39*ZD+H=ugaPC)Bz4-eR60}yRG{P!72JzH&&33y*&onpJcTiff zzg+P6(LTHTJ627{p6-ZE&)x0;J6Dt11dFBjmRQNgcxNlly9<&i;mGWNMdhoM7B^7@ zJ8IT$b15C_e|uTx#ry2XbMiPPO%t*tVOy4*tj;;FR@708HKN`y-mvgfBDElM39Ivs zz~0l0d2xe((breP!vFbSatOARO-*Slc3Fu}7#D2L$pSBqO#s;YQ9C<4*d~g|i<~S? zX}V@4b(z>O359`kjx0{7+XjondMA}(nsHK|v#m>>e^}h$b+a2>DGqpPeT(yYjaM=b z*>1PwMM2+nW9FC(@~kLUM6rxKOq!r0#jf13*=&M>!OC*gq~wKQNy}Y1F8WMtE>#02 zl4VmQ4|w1AqnX0QCM+wZ+VvpV&gc?~V`5njR&^Da6FIZ#Y?N5#Be|?6i&GR4Pz3+N*BjmT?&yi(cOp>HTI-(6m25T=}l1fgv@#hfiC@7<_Rz@Wzj#*z^ zrR$Evv-FitHfs|il@aMWRO?DQg#m!&Jbj;_f3Rd>K`n5hGH9qDGV(ZZC~^A+hpETY zbV7$i4*;VGhZhjK)*?4?c=n4Wt?P&)&2%ymg+ip*bUVtf67hA@vNgNWb8eK(0iAWE zMM@M$^sUSy2O~ma;)h&W3hUr+edINM{mzbCrwzAGYyR9%yiDCWUc6Vbu6neB)vo6+ zfB*EWym+r<*I2%Edl%$min|xh_#*0FVQWj>H)BOT=m@n|teOqy+Y7EQuJY*gDw8Bb z)rt)}?pt9%=tyIf;gk!`?P~OBtDvCvBz;v>9BtQZgoF@+y9akCz@RVApuru2ySp|4 zg1ZbbSa5gu;O@cQ-E9bV=KIfe&+0W7Pj^?XnbLay8 zG?gLiP|-3oe=FtHXJeF@6h`rk(Nx0Ks%jlKIOqn-EOmPf9sN}(GVux%|ARJq4Gi1T zWmvEoGe?&UT9OV`T*10r;RaT=-Zr;?{*Su^Xv0`b6~kXz@P%(eAsLK2PU`aHk?`&i@9Jd5- ztEL0m8Ke0#;-SWKTEivq^nIb_B;s9ff!bGu82L&^^$NPy_|*zxoe}P!f(Bna&DJaa zFZ5s9kBg7OJ8FBiM6v1<)#M@hax?E{#5Ikj9w0+CO5vLBHIY|VpQ3LMa`4HVKArmE zi)hhWg>-=y+)2IywnoK+A$?|xszyQIYrX(vu(r8oSvm5|0?YnB6G+~V-*C3okCqzV zL55d^rjbB%;q5(-%*b1Wk%)QQevL{5F^CKQI*1yD+pJS5f%A(;wZ72y3p&PtJl$3f zo0OfHcBSeBb9vEc8)2FAUI?mEuQUVkUU$!NQB?OGX!i`3WleV0k{B`j_PWnnTnX4X z#GGP{U`q@+di@0Hz z^%k!rWzU9$E}LROTTOcu!heLrr@>Ij5^`_Bxi=h>8rcq-Uv*9CR}1M(xeIELcH$0u zbTL_#TKGipM9Px;+pbe0w@qc~fhQ zrVxqVKWHQk8Q-GnjO%l&KpM1Cqw%S#f{y)m8cOphGff+ZH|&-V6r7|k<^UdJ`t9G6 zO*{7h_vo4=#NW;&%Vtume^2lpoyZv`Qgw!=X*_x}u6KlXs~5jjoRZAk3$kXd7|z-j z`Sw)MD+!)RAn!dy_L=nCaFCB+x_Dgd&bhl}5YJ(rfIi*67Ec^@UL}VfV@*@RuZB|? zADW|)^rEQEe6Rn;ub~8e2bhYZsJP+CuPY}}OR!^n6V(cnR6c&Aht`!xQ^3GzSQK1R zQyV~k`k47Q&ttc_z9qsfoX5Zy3Qnx0Z{%hC7)BLcT;Kl-LnNIlS8WbdtlQForBf6q z>$`l~v{0_aV#Y+Hf_g-4ZY81r32h0aXw@xRetOv-Gv^xj{XwZ#5U5)aMGb5~8(C$u zCi!F&==J-UPxl96k@T-$(Fu06#BEbz$(H7(3bsb{0T)%vC%r9#Ssw^~w{o?he<9oy z`<-N@qvlULWDHd=Yg78p;nIK>GPT?0wn4(n`s1-;gw9JY2ixHbqyk-0_&=DD92E1(xt_=8cuBA+mi;$x*si zksMqE?|-4J_;Ktn?Sy*I7Bc~fX7lO-npu-pQ(Q~>cFh%*^gtuER@?}3_BZ&HXgO=7 z>^-x#aFptA8C1b#{+(+a<>J3zTm36XAL3d0$Af02H#?bzRsSROD#Izg+MciAG#CS| zmp6sZ+0Y%{?lSe?LG+rjhQA}AxfSZB5nqpX9ebL(rnx$NLDA8#7W^D+pZJ^-8k7=f zGW257^L2tlBC(v zpX^j5^z@D(c7q07lwD=^w9QvN^K; zSFvB$z5zHi!v9%SsJX5S5kW2jv-!D=CgE_3dC{o&vQ41z-$7IWlAh&>K!k<2*di*}NuE@40*x zS5@UA=xwFH4q=V?Z=bwRe*3#@R-TIeCoq>Ul1K;g-99YcWoA0M*k~v zldj(20?UiF!AEpA5TAch@Kgws(X2%eBwBNZyH7ZI{%eai$j5!z_sB{C`_@EjXzj%s zTY|u>Q?Rd&g4N9<8PhWGbCTd%E-~*h{d77Pq(U0k>Wt&zgOoHV-~9^2;YbxSNRjF2 z>iM`&it~&^?ym(LX*DTy#OA2oJ1opIXdt&XsemzpTcVv8wc z$|3MI=|boWIHjKskl;pJ`3!1ujF&ks--m*>hI$54Oh9NXxB##7?7n@l-QehubYAirCZu!@DOp;kc$38S$ttb|>i8j7JE)-nMC9flg0; z2Kke~1hS)srH?hz9^Z;5O?-=ZkbcTz3L>V&r zQXJTHMmXG&BV&HkUvuhKV{w@SB%ScFPvv>y+GLWe(?$39NVy~j_q(rDjyJ0lb0`-6 zb(Djcl+ESXW-6L&xSPh0BuB~vYxQ+KTAqT%Js7rH~8sMV)5d$b8rZ=s#7I~ zhGFm{Ro)5SoN>VGQmVH6UG3e;6b(gq9s{v%jIp?8(@98<{LQeDr9y&udYU%FW`|1M z7}Znj6Ed1XjM4c9w?sA2@K3BH~$SBuOD5UsF|57 z9b-jK!Z>O?V{KDPk|q4eu_nFRT-=zRgqPR>X&(4*$%=5P!L&nnaw)pwc#x)9Ra~U^ zg0O2xo8HUb z)Af;%sP%s@9I1c)I>+8+t>repIPne4vygh$VO24hr>ZgnKk^96^El zRLWm#z(!m_0Rv2`cX*`q@Wvl642OJ%`P-q#LeAf&Ag47Xtej(UBXcUOb3-x3cxj&R z^OzH+kuDPNM+Ha3-ifWtejp-%YG-b?4W=p-<|f(}b*E|P)Nj3EN-j}0j*RyxP)MYc zz`y~0FmHE6_GT^1VGR}FM@`z+DQ>2Q<@aDQBsGI$b>yH zCDi~j|+pn{|WMxN34ralt);hjQfpR5d0FSno*^7oz(MW{ho}U-Tf^4FtvqTCwIY+<_dA@%hWjF& zuIsVXtKO}TBM<41=7nu7UQyjUOcB3`W649=rj7bs6u7VAa8*Py&9TA3j=@Yasb7gK zc5#A3+daBCv?iyw{{1w{>;KXH>@nn`?cjSJ+Hmf1xWnCe-0D)Xzi{T9IIKxN0o1a~ z{ChI$3p@oe)*J52lyv0K(Zoa0Z)%l{iY%+j58Mk65ssPCYD~E4Qxu$_>i+x;@6HkM zO}u5{Q=jjaJ%Q(CNuEW=`ChEyRc|m7*AEZrX}C=i(xJg9I{!+{H}`jZgBS5RGGfyr z1;z$z#c{!wqL~Kcp=1@I?yhkCJ2BB$qO`Ak)=gn)WrJ-xjs_L!Lz>wD*mb=A5W{@- zLuL87^3De^CUPfvZ==T!h1JqWTbvN$t@`b6Kvwy3)W-GC6Z3LY1J=|$P+YWTGs-s< zzFzfuTiIm<>X5K7N<&Pv2(kU3NwbWer7rsXP>MyBNby?3DfSDroKU6-;2p29>L^$g znioHffh{TaWyXX%E}T!*xCc~S`p%REEcRi4;O0YO(`SChaHMhy!sTcM{wLFuSgK(J zcp`iPUHO#If=9@g8akuKRj`!OU}#~53_Svc{PKwCbdfYZJU>m^tkmVYA{Dl(wOyZ7;LEBT+fcTQr$&;6xDax*a+<6+KvSaQ!Z1S z_c%{Eoyf-&^5pXJBCrUz$E&oS3Ne@N&9RP`?wgX#t)7hF{4 zRF~uXoWQ4qQ28;Yw0J1jsQ*_q&92J^b&PsTtwm(tOfEmIhyr_^Lj~aO&-&mn4*? ztWhUZxOE6*9U0S<9n;LgZv@z5@Rmi-dckiCD!dCwT9V%JU5=%pmw?V_#XT%^?ElTI zt>C8Eh%u5ORK_!Alv<*0vvUmG_38g*u+7i9B)gAq0|I?6?0XP zc8$Y`t`Ut&N}bPSuv%DD*6-AhdrYs33Y!nsHOF?8ykq4H6_e1d|CV1;WLd1sT=iR8 z+Yn2_MQ;Kbk0+JtgCYy5vBqhYBn-t=jU#KqGR>{-X1suNZz|D~D`})8M)R0Csgn!g ztp|$QG&-;tT41M{MnV&(q}aTwbhdM^bHWUcYPvqEASk7XjcP+{MFHn?8xskC1fllw zeAE2doak+dcIO11M^xvOxw@2NlKs8Jms5n+;_Iou%}Wl(V&_0GGMrx?c__!Y{iz&Y zQY`5@(Sx2kmHiDtIhbV#G16jx*T}_Ce5!sGrUlryptHnEQlc#&@Y~~HTJ@J;R?X$Q z^xFB3T79tm=T8+k@ngO46?67XSkS3xL`)qoyuDqcZ+=6USMJ+P-iC_sE75&}_$7gwUQNT%$#GcA z^CtlQW%c*lD!y`IZYXb5pJPDiatKC{v~U2dxsl7X$A;i(J!ALf)cZsa1TS`L3o+t0 z6_-su`B5}n!Ud5 z&^%C4(p29nYf2cMDA(|3%va2H7-0t3)k zTFm#Vb2-1O=9K1fc0h4c=pyp++iC1Idbu9YS4tJ5XibkBZ|hOY{LyFD5C?w4o+t}u z=(V7mYUs6yM3(bl?+ir*c{&7I`OLi98 zaa~S;LPrV;P8g3mvah!W4C;wG0GB%odyr3Xqb~41%kwlMF~64rg)NmL<4xxCQ2et8 zI0tJeRfSz@NQiHat05n)94Mo7lLv!;<%dXT6C3L<|FBk=QQa%ZE+NI{#9Yps+;ieC z|HP&l{C+G(Zz-06ow$1(E!7dVkhmPH_3ZmaA6TGUk_c&$vh!zIdP zLsE*%S9bXuUH;S*b+K((0iHE!`pS=1y_|aD-;T=LHbM25uU(P%S-vp4Id2O+PMsC< zXlg|#%zcYe7)(ldeCiS)&w?$mUfy=@9)si{D}J}!k0FmH3C7AK&gXZ6cWC#i=2-fz zzR9ib`r8{9{!#|_bV??g8M^4tQ?Dm6&z%&7Vd*)c&V=(}AuVxtJ5$fc0=_Ul+=oa# zjn6AB@w?&ER)3F|Dhi9mLoh`bacP>Pq>P7?cB~2F1!{* zw2HA_WS>VxOI4ud-PfvYToL5o)c5XYSgJZ6`6@=(gdYEy;{vO0PSp@edFSC1o1^}h zPkLY7)EYh_4kY-huR>gz_o70IZNFLtQm{%VxICFt(8dE2`E3SbCsAz*5-bFsLI*V@ zJ-;dfv_;V)^*vR~7MsH({Kn>z>srib&K4ll$G5>HRu;>CKKKb#1%sSQL~`a#@VuSF z$YO>RSU~SUVh0?;RLG$=bAyaJ7mOha4s+G?jaQ!G6sWcD_ofi?f0t2(!M!taD&*1m zKiwVIDgaAYTBi>3Zd%pIxUj)+U5C(Y2Liu)x^T(lR3tS!dkK;_1i?l!1C@T&a5`+{ zK!y3>9!&gfR!7Vjtw3K!wrpN-uhYtX?us&uI5H#Bfpja5A0yywOmG0`kRnPVaX3AcDOnc6oSPF58gk&oNudS z!LSwEH!aPs34oW0Cv?}vC;Af-HtPbqNTxj6+O5@f1tivrC&G(`Q zu*mm3sg`rM0d@N2vVj0@NhjPU4JbN(acw}%JYDHM`WQxmxArSutb_d$*s ztHjbNeu1}Hk_Ves;iB^Gz^yLYvIWaV?74%^>c{1IpTq@uVIjhISpHj$zK;MRZ2E}W z%D}kipkEw=FRaLtU9Y#pz=>-e>tkS8(J^G^8X2xOv-}O7)@bV2Yj~20APkU=b;Y*) zr|{oIAAEfda=Q>Gs-}SnO_4L^US(mzry#gIkY$r6JvvqX=U+9aBh#-KlzcZA2LE&pCMJ3d2^F);m0uo-M6%4h8$@>h(`ME0uUR| zoV@mf3d)*ac5>yCIeorT?n)?VAQQ4qAp7L}p$k7mu)UFPQlyCML4Sx_{GAAS&{~#u zgQ(Y)?5~tvq5>re!OvFXYij|!PLdF6xp8L}D2k4b@@@3?kWl9Zr|`u3Lmb(zx8MBz zcc#yNdt|R)fQJyjl-C>K*S9qk)G^Z`W;&ajBh%G6H*2+>x|mYId`&rKDq0l0lp{0| z+y5xLZ4Z(p`oaeZC`@wGi-VeCBw&eaji*E`@9|-K$&iHWOeXn( zqgn!r$sUT2LHT^C@+OXlALi+Fqkj*5AzaYnGL30g)t#HEpC(njdRI>A_8iR%!4R22 zw$Db^xp^DQl_AIe&k4k(sTKv%a@aRH7DV{qHXc1R4Ni}A-dX7FO3G)=H>nud`Isdt zF;-%mp9IumL>P@zq;bmA>^RCm3gkY6B9kKs5-7|&G95Z}oR!M8icz!@zxRSPwkf9r z6EjMs)4LEOd@6z>&<8eS>jbrFvrq4M?Td-PAEVRB=K0Ht=6NyrNJX}Vb%lf`k5zv}J(;1d&-S@i$T=_RjlmDJY};WokK^?o zPpZSFVfrO^YDI5-zpmv6L}B3@wGzdr4vG;Fl zSb7T8V6nS~Jza>*X+}qB8Ta5!UPez(3Ez+|n`cLD03JQv_p_pebx<1MY zf$=Mgm;`>brY6>@4VtjjiG8Mf2$iGgG8dQpdro*T!QV&r209Cz5M&Wj1jexUdmQS` zF--e*5}k)bHHjYF)Fa9jq-5-i*ek8PT}zps0=w`=ni+xX6HcG~a~P`EsmBvAL<=K& zomu};yBJ#tB753Ed^j-|9$0f4YV_IA@!07{5xSa+sa~}M@eA&*JwLWRpBnUeckZ>r z(RXs^lYsEOGuhVDRse0LUqIz+L1psXl>U_<7S^^-Oig$yluZdVllP+`oh^0et&kCj z-@wtH+4vVrwFMEzFXC2dkxXDOTLuX^;zuIEcTbwI{vJ0AR@(znY_?RnP}N>t`AL09 z45HT%%~A~~PIZ{&l9^9RaH{v}-)#|5m=G8{`iQ5r)s?{?n5fhO%n^NeTWJo63=FvV5!0tzvLO-^ z7SeF6S;tv1N@Z#y{mpGH&b=6+oA2knNvdkSEAwH8-aNa(s6`sYNdvPm-lsaUz(h%M zxv^|Ddaf~rDUTVkR@|CZ#rBb{06*X2t8vr!a@3KsY-KkEWt-ML<)PTTA!TH60>qm@5Q(6{qHZ=TYy2bu*+kseV~+_#U{P!$(pQV z1rx!97k$(FFgR7eJ{vC-_1>A4r8MkQddTL@f{)#{f&l(_rh zlwRXlLat8IGIuvF-kfg|y=K_&Y)HQ>VT1dv(-3zY`$ejE@*jDoWD@9lC^9bl9$7C+ z8$15ow>{{1T)xQr?LEX)Gwro`I3nj#bletK?%U3nvnu`JSGKI!5Rb;ZX_^ z+jHEjeRJpReU7yA_6A`>*&FO-Cn*z(X*ubqw2aZeS6s*hs?!a5j-o^yv0JKd90a>( z<=(kk)vhAZ`GERTLZ2v%A&Q>&t!qOD&si^g!dLDusKB|$JwI=Y)9C%{AF`g_;Lg`v zAS=cfX6&=^o@}Ew>zN4-=3dcXcY%l39dqDrAC_eBVCr{&|H2YawfFkC|3dsa8}$ke z>=Od+CSE{m7s2M9J+%{8jW2iW1&xC1m&=`jF+Q+d@wmOyb3ep{jvsb~a$D(I?1sua z*@WnT;;UKfwo(12zH4{0cGOux$N4*)ag`mzpE#ea=0K|JfgOLBQETTjH{&ri!w*WZ z${KsyC(CuQxkuO7csRW%(VD2%!o?*^odC`A{RvT0x?73| zqCBxusw^QN4nEZ>aFjz^vgv42sB)^4nF3}3xOZ$8PMHv%3wB?I^fJ94omW`SYX{9& z{C06$PortGJmWjB@LoT6?h^SSpZm?X{_!rBto?LL6#R1>Gxi@tOgc3&Uu zan{UpeN$bSl)41=$OWh}9$kN2Oi^NAFD#z2L2qY7fyQ7bM5-88{LcTMl@aDJ!fj-Qmjjibg`a$kj2J5dvW7wVuWG{;`mmQV9 zWblm5i}Mj(QdrjO@aw3Q(38^IQgpJBKXPfnR3Yz7%wX0ja_n;$oZ1h_Miy6DK*$|7kC_d0{$J2Ji+jU z1`#v=@pT-*w1l3fX&=ah9^7FG>o4zB)p`_tH}@YZ3OnP>X=C7(7b^EcvWcHOj|w|) zFfxTbf7yF&wF@}kAb=sUxCC=yn>mMGIlMHCPLP2|cpd3bAXY;fbDv9hQjc-;zEqL4 z3eUG$y8(fX4?N2#wlndHKp!&=@|$9}_K+HE)KX-B+il7kI?8Aiy?JLRw=OdsC!e|r zllTNvBpJ(&!}SLpJ{a7)8jO%V1p@vFwVXmPVTu>SBdqWm0}U9^{r5$3vz*+(`+394nxxffz^XmpQoHT4>@Qr+5*Npu!72-r zpimGBVPYp{`AvlZGzwpq0 z*i&9WTZ$KL-E(pyvHWg1J4dC2;pgFEg-A;FIz$*|ma&KpH;UJj7$j-M|747)H3 zJGi8$;jw99c80H?jMt^WN60}ba@2V=ku+`Q(|a~vQ#EFBMKo@DeI?7`&s@CqAK$=! z8-+#@m+--Z?QJl;TZw-ck>{teOL+F$5lWI&p^ONV(AkXhLltz@`#&YCM-t_W=gnF@1>_Afc^f3!RZv30>x}9~c`Kq{O zBJkH3YecRMCE0^2lHg08mc+Wb$i!o%+Xm|FRhO!YokBD43NMXcT^DI!YUbPvYpnN@!aq#l$*I9p2hvy%zU7opbQPM%M0KbXz$JM7*vIlRUJq;oGnTED)J^Oum zdrz$EKH{0yOdUA!O)==w8dy9e;IUsbA(gMPKk?kXLFF;i7_3cSUVdzQfYHB9@&mL; z!PYazFKGraLw!#NWLq3H6=zo`I5$E7lliKNCFYZ-+R}>Mt`zV(3g^R#l>DyXEt4sH=o5i+_I~yOX#r=GauVjD_8;|ZP~D^z)-0h?-)hu z&%0I8vQTDm1l=_v2-QbjEqxO)Rc9+-PRPBA`ufND6h;6O5hrM<8zfP+_(PN z$^+u#+xvy5zcW;riLD}G!bX!b$a!VcG(@s&3)WJzIhJ`dvV?#WWVohq;kc1)6{x}j z*CoCis8bIR2%q?l6!)FZkZyFE-jd4l4OF({bW*#&`YrMrhY?TvJrG~__#Ik> zI=l2epVo13(drT7Q>9phO(5s@4fe@8qt|qKGed!`B43h=(0CSqWv7R^Z`|Mo+eQw~ zaZ$6(X_3yOfP(An9gXgE9q_v@WY&&9QBrnnsS3R9yt`+otpbmKIZxETS*BMtre8k; zC&H5SeQ3|WI(zqp?m>PVh`Gpa?Y7PBoWR^fRRrMR8GJ(Kl_Q^U0lr<(&@X;(*k-@5d* zLzFr0qY(e$C67#(lmvuJN-E7Q`IG)NzAaXoeo3=ndLbn>^zSW41Ipebal493zT*+$ z>t(`#*b)6jRLY}X6H;BUWm6N68~hV|FN{?6^;f>t(Nwn{&n;{pjli_$sRfN)S;o?f z75r5jd8OTQH}y*9FL7X=^TyUulezsXPWma`2%|wY!n4Lh%{XW3_ybz!tFZC8L-*>K zoieWmwEuBHIo@B<5`UHjz<(U>sUc72S2 z2e;kxm@{1wKtr80YK~<$mctm%fNxW^M!(ZV#9)tQ- zvC)L(f&bzZWF@eg^e?!Plv^vsQOM@kTM~l4yj%gV$)4-*kAi#q`6_Y8ee9vlFmRdm zgr}Qszy_qrKQx^Gy^e%|Ae+Db}Fa<%=sK^DoWV)=yd_4#4KH#6&TG6Yuny7QV= znCTJT3B!BE+&4F;thcam9#MWL&Z7n&nOV(NCr^JfMsmBD~v z?*Xq`jQ$hVwkP-pFR$xyy&-pP20xHf{j0Q$G2kP=WmGp$iDdN&9id-+*_)Mf`CI>*?}A!krrv&l|u1@B}=@csy#fXBfOpvtIWAhanI4 z!0WPblp>ewvcvrg65^vQjf7un*dB4iVQAeJ03&<-eC{*A534x;hw67R@kF3rilZoa zi;d|0_|)EcZ%jd*F8^Tgn%vn%_PqT{KGCsB@B+L(8|-cEq|;`3#cSBD<(+C*=nB#( zVCs9lNUYu6HC~3iZVPvFvB1Zc$u<80te(#0*7<)>m~8Uv{14yr1cC-90KlEzZ;~l*fn2T~QxR6)lBrdX6wx`TZ}s z8l`OS6P2`l_Qu#=ExSmMc(ui0+Q&Auj1tu~N2U~icvs79e2}7y5(X{%=ONr1Kqj1> z=!>rJI_3alBHxR!|L#+5=Q||GJPUDq)L?w+O8d6vw@12+@5!j0Hl8;Ju?A0rtXF8j z3E9^Yo)Q4d@n-&E|Yd!n5SM!1B7R`seZ-E`APYISVswjy~t zol=!%j5-|F*UMy_*Yhb;{Vov^DEiyD=2o=iv!w?=YzSFurZj z^LB?+Z{0bC#dCLu+tFl!6_U=4S65-`Ty5suVCL9FrGQl;PY)H&myWQJdsF0&<2w_# zlw!ubyhDWy?l+8GyN8s;T1lNGUu}woeWpNGVp3C?Q9m6-h;`_RZq5W8t28;%a94yu zxpqVq1|XUV=a(foJz218*r^Rb^M#2KlagKT%qU)s-?t@XJ*J{Lo*sRJ+K%lDzkYc6 zLk4^1*l?#j!p*ZJICXKnx5H`wVRdtsXpdStRC!UeC@mNMvrn#Vj_b0WOt ztf=yvlUC|8SQZr_xxk6lnVD*d;cR)IkR@~J?-=5`H2Kv}xnINIXtjJFio<^y6$b~qlg}ua3D74 zUe&97vgh8qlZeNYH4SKE*B_CTG0pBqOqrNl13Hce2+E#3(EwqQ8cQ;km`$>y|KhFF zKAwJSRtQT+Rm(DmD8Q9K{{4N%aDh%a76%seyT8)O*ZL*B=TGD3JNG{8=X-OjIs(^w z=CGFaD_1J;FxpEo*$y7Cne2IV*r+s5a_)1_|3LZLMYcD>Dmak^+kPcjzg=C2D;tlE z7gGi>eBd+$cx6bN4Hl5~oCI%J;C?dljn$`TNnqHSzp7Jb@FsF;=;3g{@65($6gp#&&K8+{(2vgpee~VKIO6+T0$kxE+H~&^qxN(B|AlLKANjpiLVgblbkZ6 z#r99>rLXfGN7{IQj{$B?^3S+HoAL_6;KajC4vi90AV1zR?mYtkV`q5aDGzB!c*FgQ zP%^Tt{w;NtN#m`!-PmpOXjbPLQ3u2xR$%{Q)~-lzgi7;TV+>+j|DL(7nS0@IY~EGk*>p0pTfi*tz?blFh{|6i>T00DhR8M#J-&Tr2 z)9pwOFgD^WX99a_-w(@82^@-7TzmNjpXX4F!@A2K1)AJrR;^^$-QZJ(-GaPwLYfGq zksj)V2ZYMq_faP9LeYE=#I~8A2VN7-%{{9I?w^02Z`1mn z(83;t@3!HR!{hp^UqJ$rz2_MytU;vr?A&w0yUFSH^F+s`R>%K{xZkE2nPGG1&U5GO zvx(Mt$>POdqAXD)88`(+T?@657z&JC5HUtG)Y3Z6rl{ z&_&15)cPhd`K~!)8N=nKYRD8H1<>2GgvGJ5v2mxnm$~b_eF%LC&RJXt$p z_;2J@<`*=l>X~PTxai($8!86Lj)Ovci(;=oF_M4#dGu>=&OroCXw;<~aN##nZPNXN zf|EZVAITvpociYmWyvU3R%n95F>XmH=#Ms3-Kfar53e>O-CRq2gp!mDHvRbYxAMtP zVlp=y8_PD0b@eILx}hnwZ3apv{T{h=@n1(ulq{Hi5c9Fpzoj(cU~ZbKcX!@x@{jh1 zJTwWgqK<+JaoV=6*Ta-C0bECWZy9KQuQnuDO|N>{4lZ&Q{h>cUWOsK%YbxS->S29i zy7plxlf_vMr*p+=@Pc31imWfx*;l#x==yTN51`c!Mb485 z4NtV)L_CctzS{E=3*Yu-?T0-}rO2DD=&o)K@4Q*pv1`9#s9fy;=4d*R?{3E zwnK>&g@)IrNM|dy)>g3^j!AASy17X-k_YlU`Mjnd-^!3kYcf#9x%uK@qjbNy(|>mr zoaPv>Kv$DaH*M4SPScT>r37W)PM$#HH+CbmRW~XIb_S1reY#tJSrvJ*Ur@(sMRf63(45>g`pExtbO0e8QB_vr0tDljY%xIp{v35LQN)-O+eMjC+#0fB01E35U3 z7yD<)MCEjKyuZF!n6e~ldKeN$rLMd(8r81+xL!0m_PGn+aOQ3kccZBkQpU{a1V0^+ zNT~l#%CSrPZ5GSApJ!^b#2xy$Ygm5R8&2YMO@XzUB;XIIgUF{qQc!8a>x!~|`J03O z&vC-O^B+8+@#?$_?IG`#JwDW!IM>$|dB%ri$x?|)(9FtOhY;BEkn*Kv>_oek52mIk z9F6w|x0IMtt`EJnDNh*l<8^4mWabnhv~zW>@s!v?0aH0K=6(?r#Ixzg|B5AomuL2#YXyY&g`h?nt0Nf6 z>OII}ITj)AV{I?`Drc{PL>v;sC-#BArXT*e@ZmTB?WMg3{;GxHRVh6)h*repW7^r@ z2}LaUy839qm}Rg?j)<#9W`+dkK$wa^Io~qJJ?jfO??=?xjsO>T>wPLCQl5uh@@v-%%bN8%LcqOe z#aJ{fv(d-jdc>Hb(qpD8LDxV(+ltT*-f3KjrXbp{GVB7{g-tOM>kFGzcjj4ZpS3we zz@2BDS_(=s)dCB~%5nh(QwcaVi&S+hVVHm>%zA_Bo zXT@H@RH@KA{c>Z+*nO>x7bLuU^uQiNqHo@uKJtE1r@*)C!D_7Z4s|$CiG4nS5u1jn zzQC~!&4W8Fet3SxxzK|0!n~Zzml`h!h0G-%r?n*y8PSl;NF$yXiTymMM^}RAGY5bj z&e=+6yklNVV3|JIOe)IrJHYEV(%fVhJGC;0FwG$1?f4l_E~SINc@`-t>20A+7W40D+%vat{KJNUYTkmd6oa+| zF5^S)om)W_Mncx}sMEkLY8!Z$J#JLl;tTm|m6R&m=b#JrJg#`esetFYd0dGZ!DH z@2&}!(Nq8G5yuYuuN_)Jw(Ge^0wF-eTmCizw6-A1hA0 zdQ{+;gas3~P(422cPymHl2AFnyBkajRV|cL70E2rJT6)yO!gpLHOyEb%cxgX>+4$t z$p~2ka;_NixCO?0_GaUA=i>A}-3ll6n)lq15o(z%*4|+Ez&pG`s zM1aAw_Es|v^*8ogY!pP@*ug^T!UoX?LZUD=mz>WafI1P)$V1J(ri)`w=^yb-v5M?b!DtyYcIHwqzT$ z!2f{OLWppD-Fdq(xU%q81bg!jLU`LLUFqz-!9GQ(Byw>DJHbMW%HA2p%l?kQY*N3*3=G@A}i z;-vX2Ypdp~HiJGgo6bxepC=WJhE0K+9{iq;WTuNb=jp8NZlAyWj@Z4MTS|s6$LVBm z&w85RqEN%}U{B4o7r&^Ze;ne8pbI(b=m%)ZeP#g$B!ayr28>z#fHq==^X5pYXfH&7 zC*}gQ#GPYRAVf)pAo`p7~vZZzmo3wP}vwysmXYND48Z9MzxKV_am;d>PfsU1} z6xU5Z(Pfi0Ksyhse7Q8(NZp>lY+d`e49}%`<>-8|HZZBzs%>hJN~d8$O~x-BivLn5 zP@2Hm(qQgey|n>Dx24E@T>&bc-Ch%iocg=!-%lOm5?nujm~Ak+-AIo>+3F^-=(e2U7amV2r%LY}`J{#`jkTz?{dE7P5u|kV{I-Rhh=v)t~ zmHRp6(-QwFZ127Qy4@8nV#N4!6A4R~sK9iXZ;g{}N%Gvg14t0A#p*`i0B#E3<1}bO z1ZsT(SoPX^Eq%$C0oVDM>g|nzDRF246%CDOOx5w*wbKkSiGMZ!Za?nmX1Mjn`06kJ>>z8CHUe(O9lN^0MnR7D@0GtDTNg@dUsF)xwVoPqK89z zi^CKetP)%5XkJR<-CFO$1AWI^*k^6)aBx=z_Log~KA9}=ZTsJg<79Y1^cTERl!yn_ z|5oBOwcx`MzNz%)dJA$4uM4xwd1%dhERwEuW=1Gu*T!a}tC} zn{_SnYYS+X%4JsyVrS>TJun?I+qxjI9*C1)zrWE_T)wl|l_F|!pL9b_qzwP~EsPX| zr*!b$dp_n55T-KklCjyt|6D>UEf3+KY^lbW6DrO7YZ zOV1>o=1Ooxc)fW0#M*Q4JpW9{;9brdeg0~3QuN%-DVwp5Gi1hheM*<_TERniLX@;mlIqdCJKNXD1&e>)VvXJwK z@`7`vq6Ze$xap;9Oja}*%NJT}6uE~|$(Y2=TP@*PYd1mqB})8%1mk%}#ZHT6i0eX< zuL1p`2wB(ROlWP2>~Zyy%|cBNW=%z+xyG5rGK32YM?Ait_=F67Ah>>g%1*~?*?IRM zmMXg0$;BTOF_{*cu$LIM25v2L)%>S9&6QndbtUc6Kdu$YGir9t)_G%m)$_gYrz%4G z>7>GsBiH4@^wNZN^LV`NkXPj;oRdGB@_?I&A^{QSN36SXRCjJYG71A_Ev^PbWI@$$ zl2TMk-THiJ>Z@>T%+P2>{aN-At@K3qJ!!*AHac?7##Y?ND8m*kODOjfiVIn%abzYoP#|8X z@mz`NGo&v-Kvv6rU%7WG?QqVr1{=>x&@-xcw zC{iJhWjs1zK42BQ(=(?t^>^1wNPV}U3}-lOQ_@!YMj}4x&aa@L5Z1P5aUNUH`eXHM zP);;%cV)FrZl+F7?kx#Z4gEj_;Cq0hmloQ7PcCE+9Ug7B)L~J#j_2Krdr*sa9WB3N zVeBOTygJ}2&kh-ONV}E)<;!LI2>*e~ZLY7y+3kfUi?>Iia zhg=-a&G3}bg02l)s$p{@?QZpPv$tPX@i-`S4=!0$HZ8AsK5&B}GCFGN!~zd=mYK?T zf^b`b&Hn=jLHNFsGnr19O{dgVAb)KoG5gmJ0cgsGY?_l#^Gjr1)N*j;P%_MRVzumj zPg^zAyNWDL@jeR9rFf*0fh++;@a>6XBQvOn=1I!K+)g;yTasldyIsk7xfT|$m&$Ox zT5)=MMpk5Gd5-OSCX)$f*xY-^&FwwbyA2*VKHMiw5)KdcL{f7uw|D1y`F|jBX$AmL zKEk++Ej!U6n}pU%Y<1H#!cEOG(jY=_nnw7;iKc4mF;@)lNwaMH-CWQu4i@0yFh(g1 z3T@P-h1c6LU#sZ^tyvU>c9amU|1CA6IKGP$=gyeZ(S}V|xLTJLgFQ zk9t>^@>%REwmxCn6{tSoE+Z*62K7f-)+2~UTQLSW?>TSRthz02+kXmXG@pP|lyx=E zq>DUf-R(wucilH^yDBg*JYCci*@*M?ij~>&)ci5>Ff)}dM_g-FB~`7*qr9T78t`ys zen6sP?riU~(L4Dpg{9eLK&uZ2EP+ieQRU8BIjn<>tM4umm*Pgth$4fD6eh0d8b#L@ zC=Yq+iK0Gu>qJ)BI)AYg$J$UfHGSVxog*jlARWw~|LG>+Oaw-F<=cc1=E;V7pEdCqjz=pxMcmekvP8oc|SBsRo_2{~wPv?W?AAL2aE#@G_AWRYdPC9yGw`96!q3~McC zt2O6-P49c?rGNZCIXR`SME_dtN=!JwRmkpg&e1!|I@xl!J;B{~93LEzWeIzG65e@s zv0__p>0?R7$ZMftO^Te&X2-rM*!3$)R}ncGfmBV6wQh7%4K2S%^rw9Q!NdXfJ&>t} z1c$ck#wr?I4feaW^g$VNuzMy<2H^yRAUMgPNstf{r|I*SxrT z6&(&U93u~Scpe5hoKmon2#c{I_-L zj(>+QfVGCUnUE$m=*z%fbAEBos@~w8qnJ)atJ$}_`QRz0>4e6%bZyK26LWFKv_1QJ z&X@1Kh$#{d9yy}xJ5KN1r`qgL3LZJU&MceqkrzJ2TaKRLk;OIcyl@wXr&F2rmg_lT+lz)ROM_hm68V835GHy_suJ33XY3l|AqF8g& z(at!?%UUap+xRw6dTbGj$pjO}^qu&_T|gW~N`sd9mC}lp z-cXk{Ra0}kf53b;VK$ve3%l8Iv0bz4D%N((w8+_8&QZYGYDZ2%8#P#E$#gHHM?TeRgF< zW>X?Gm2FUsX16Pu%_bZlA8>kl!Gi~9I2^s|MSG4HORpER!kErcL^NGP*MCWs=Yo8# z>BULt5leSfmUL~;atR>siKD2h0B7gFVh##{#p+)(Kb)$8z?#=^b+gvVyrI9%+r zv~$k875C~>%D$Ei#gLIUs5X>>C`!U;OjIvX6a~YCRGX2CNK6u9pCqB!J5N>B=pxK- z`yOpX)iTVL+qNT4#9(7$v4110$k010GEXfXUT-aFDrCAL>kVXKJX|h)SV|Aiyz4DK z7X5i-BGM!YQ2#z8Ix8a6ki;+0__yL*9A2k?TVn^AEnl1;ktQv9wj1M`%xpG84bBrS zRoy(Bu$avG(a-!OzxeX6k|J-gf;BeDhOZ&DpCb zq*=-vo_iCIJ^naXkFR24L(?`m+l+5?-*qwrn-pYmM(4U*NS?g_u@R$VZ&{$rO^$ZDRonGZ}))v-3e)tl1IWJj3Hr&H1-rEY8LrlF~7@*;Wtew7@*KVGIoY1^>!&Y4 zmN3s|c;)%@oiA`D+voj{zbC|E-{;4__(4n*@vTpN15Z8rdVB<*`NFSZ@*|#o_GxCz z8OPH@K6m$d(kNygPbgE(H@@xb*k9}sMTU#jIe$0L?=Z;=CTYR9zv=y4nIE#=Y*1G5 zRquK`&%Na>M8*VZn9MknEF})@HwvbcDS0ZGwYKd-VuKm^sYw#EWX9fXP83C4tTwFO zj$Zc|47vzV4)4Z*!MwS{vEU_pT?25~{M|?wz}wt|vDubnX~I!4p=>U}(`HgBU*)m*JUO zD`JxhyMRmVo>o%v%Mz}}sLSQrAX$>?MIJ;QB_t?feYu!SVlguqZRoM|%A%d5OHT?( zF76wtI>f0I5&0puN0TEYxK7zo@V~Y@vVS6@$O<~w5vhpIhG>^4AvYnEVRSVIy%l(mwZNCSYARqWDM>3H^*BOdOAMZ`WJOZ7J_@97|wlxeMlyh$z0~ zkR(wYWQ)>z=fM)+_1#DSYg%EKB!So9y{B=K%KTt=#w5yl{oZ37W&2c3Bhg%%z`0ed zyDbm8Gpu){Ar`82(qXn;D>ORo#(zpwTyxPldQwV_-)o5Jv3)O{n~o3@y0|4(xHx)e zQIV)h@+1>^WG@zOv3`qX+#`Bzk7sa#D=h|$ZMnrGi5_j=j$nTQEJ?>@l%})y*+0Bs zw_UQ^+@SCCe~U9;XqpKZ=Z|uDc#AlVFfTv2#c6rL+i$#)(`Lm*zhRb5xPMr$IN6@_ zjc<4l&n_Nk)0MpC$!GZT$;*81{_}k6v){ny?!UlszRw%3JPB9ePIJP&^@^*KTq8?yy5V5y#4iWA<0wD$`z-(3*L0?X})y#%S@(IUjO8i zSZk@u5<6_l10}yMYxxj{ZGU|mS~cq=D!oW@Qk_uymeeN9<0+F#PS^FUb{lHblBgue zn>;2lqa-LYhI~>4$h%a(CNki}u6lZY#{JjsadCcuM<5+h98sB?`}&m3X0)e0@!Bw- zPMAyz=JP4j*@UKP+3iZavm7Q7U0raoF_`QWAGM@$!jwcJWt1oa27lda6g1H?x7Kt> z#W-*&;z+9X!Iv-QlJNf*r~-Y+$QvpZ{ZNcdk|Yoe5!1Y&X&YAkhQoB9-deg|FpYIB z$_ir)2_Dl4DQl*t%xuoK-La#lk9z8;#pj;F6yfJ`W2k6s48682(;1s~OJiHoI7PXE z&k8XynN3g{rcpuC8-H?>j|)|$E-O0g97Y+ICS~FZqD+yeIdK-Vt~VGoSBvA(QP+m( zs@E?bW0@>TeZn+2{021&fZxJwnv-VE!_x6}f3Kol*K*vvGPP+@X zs-*P~y?4&DNM`I8OV<4s7df&dl}pdMv6F~QL>`#AUEh(Usec^KT3vPvp^|OdhPtZA zG6CKoYsuntO!6Jx ze-jyOWCMjx4uA2wkwDDpB%`b=nyO|1TbNi1kFII4HV3swlGdc@9h}YBtRERskpHF+ z;4#6tI^^O)kwy10KlG8m&W*)Y-g5OBxzVhJ((&r*HeKKG=>9b@3g1iHeO|A*IzOW9 zYyQTs{zJa=srU0W*WQMXBYyVze?)8y?|J-f+*;k`k$?Sb%x80c?)i`Nw?6$7y!q-g zDBy=b`6K*a%)iI`pMDP?x${Z>&S!p-cRuzUE_NI}dQ7#eI6paKFDM7fu-Upw1TnMOt+E!0iRY%(E^jepENvy^FGQ1}d-C-E^C=WDVkqf`wi z_MEK~Fuljqbj_t(Noi)$ltnz_I6vS)dB)Yr5j{PsQ)5f(ooCO_C6uv}_PrLvmIxF&N<4m#M++4 ze1C@064|bl#wM0+TjNhXRb8{UoKxf(H?CYEKhLK1{dp? zeZL@$5_GI^#?$$Z)m9i9MJAV8YdcIDv48D$^v;sT(Wo?OgE7fEap(1+k{^57`HpdIL+XL*brEk~tok2y9;{6=0Ytrn5C{ifp@Ltp^!|(BL?f|}2Ic&H4oPYWV zQ*||u?p+g~bYIhL8%P`{^##^jR_&HJGPF_8|Ne!a;Df+++-bhaC#h44`BcHlhwhx^27!uf-67HxP~9GAqWA$x0(kCk;P+xocSqFFQ7Q<^kok~{Li zJl2Wg&h9={Uy~*&SMmdzs3Yxl(0hL*l_LWSb{g>I)8ZfRmk}o+D9Y0(4gbBeNWX^Y@-^CBGcKZ_&Dj#xf&mZ zEH_6{6kkCxJ3Tv>$e9q#IfPl(wNO@;^Vw)vm_<``ui2k3X}gZQ_fFVbE|^Smjt=+9 zvXt|6!KT}>qryg(&Rbrq?sLOjVHwRS;+%WxlvTeDv&?7&dgp0|QGXFtkdzIqV%g+N zAZbw)(l%>RB85?}$kLoejmtG#mr5arUhGDlIobQ z?wP8B$VM_t_i~8$rohFLz=8HyJtzobGW zmPeGk$56`Ry{0I3WZ91OdO_c(UlASjo1Xz+9=^TZ!z59{Ba5qS%N@5~dX?&I%NySM z1g~u$uxU&F=4XB)v?;JiX8e(NeJ}5P^f`X<=C5KR!_~cGl7Bp9*Q~jyH#~lDW5h{5 zx_1qY;<>9&^NCkJ!w-M_M`-$<7f)~Tw(D;l8Nb)&$KoJbpYz)7JM2%FXdiKUc1oUR z*lvi379ze5JXILz`(j5lR%6SK$ZHPbefH)-$#AjetX)x42g66mW78>D_l{}e4yWCi zx;o5s0i1>PdVkG!vk_)*F7fnH6cGn%SQ?ABeATa|dO>5A#kQ6_&d8FCw(Gfj?}Rjs znNA9_EG5q~@?0cJwwGktrWJ6_LARi>Ev@Tmd`smkdJ_{RGInsGdW@rx>=0?%P=O4y zz)0(_IG8%yU&h0PIF%vrFw&wJslz<1?ix<|o=$i827e}9MxLgu`zB^Fn%%mLXJ!X0$&L|Vnv@KQLe8ta1SmedA%oUry4ehHA z8t&}!-w&j%-deh@7Z{JqnK8v`H!3@mc z2|w4atbdtKWel*}l@iS~Eoj<~)Ac#!gNB28!E!lgF`qJ>>u zhJCdZczrL9%EU~9R#pxa7pEd;vyeuKI2St^DJ4-%k>?m4iKEYHbg$4VBev2l)vf^} z?RVAI0+%tGovPXTl6Aiw6CgIWp{i?|tfliE%6}@7-mo7nImq^8eDDy*SeB?gb=Ok& zEtRXspjEHsvsAaur7FRD8HL4ejE7eUxM&z5_I*#&He;3Fd)eXiy=4g8jG{;|onE@o zF8ur`HA>)2EWxeXL=+*GzHg-*^lE=Xd|RQtmrX zN{mTjRHV4Gxz8e-u_)%mvElUm9OoTZ=SSSzoT8NC`rcJ;ukZ6`fBvsBjSJrW*juS> z%ST`SWp2!G(Atjs+cUoQiFZ&nHS5iW`hUDa7yEeasmfA92~&}hsYuhctcNOy)#HOeZ;gZ@JiPSo^K$BoTgWrlwq(9%8iNR`(j66JLH7C6v8XX@k7y z-kp2&ZHHH0EUzXa%QKm~DLpPQYS(gVFGA~Ib8&isQ4vq>zmEM>wx>!9+z9u!qjxH#2k203IE)cMyA4jhNQ+&! z8ocz0q|^=}mkv)BLMYp|r86DpdW~0#N6ZyY>I=Sj_9EM67aUG8);sQ(XQVo&u`RQB z!lUzReDVB6!F2|yQsQEAFAt*EE`RV{FU=Rijkug)_SRC>4G&IE#b!AbhguxR;n0B`!5Ys- z@8t4zikO(Z&xow%I5`l-Ln;Xg+br<*sdo@QX!*75lvOo)O7&u zsG#a`l1$M{K(6fVxPj!AJs?;L$^I6HZa za<_bF2K<{>K$t~3rBE5K+9S8ddIOVy&JL9V#`zrRbIbXc>Wq&%?(?^cDNO{-Z zTRAINOw)o%l9NP+mrieyL@|5Wg3sRhbtXx{(R7~={`$u_Eid>JANV6Yvb@1B-Tn+k zoO5kg4#DkS~A!kn_gocPq=6|yl{Gx zx|J-irm7{jI?u<0A}z9UG3A1@ZBS5(p0Q%HS);V3oC!oH(i&wvH4Raxnd*Y7X*j)D z;gu(g6VgQflO(YKfs&Y+nv5LPwr$z&DlW=38@FSlWER&ot$*06hbk&drDAXb*U>1E z^|ei?Aao$NIRV*(0|f{lR!^GB1Grx-Fp=Tb**$6}9M&OZviFwL=7MrpVy)$|z3bBQ z1=5s89DS8JB*ygX2!*C!>K)|i5oGpgp}*H>qgdy(gCR7_tJ?u zPZS%{kRD@|4WE6H)5H1T%}yikCCN>PLg|?Pz zcz?c_k5!P?8Wo_dUDr|WN^u0Ca7J8cPCL%rnp!o)+HjzkTsb)4wFeJ)rM!b{9HtVF z{}76pny);Jhw;R$o^Y{Rb6Q<+<}X;$jbno%lL~BDm?^~MP&W;6Y{=47#QWh8HnEXq zjFX6R?>+fMw&jU79OwJ2>n&&1nx>wk^M4XgHzv-?Ojcsf_oqwBzLts%Ef;n#913EX zPm2*S)Z3oD#e&(ipsL$Y<%_+T#f-YHD9arHS(Y=OP9H*826(%3)U{MdyIm>j4JXpK zA%duDI$Uy|gdYyMz2zL|Jog@)(toxs zNs@5ZoO8Fmk1`U(dd4|ZCM0Fd>|(+!n=r`>id+ui`D}7|NXqHP@LxWBhK9p#01!QF z5gu3>F5o4{!_i6qo&}cebXqW-79n&}eg|3B%BXHQz@2lntytHqrlD$Ou{snI!=X7Y zvz4YWIkSAibdr;%Df{~}XAzs;WkLm-n8`h~|FySuXXpvdkVLew=f` zvK-O(DZAaAt}{T-`ohvSdnmn+_Y2S|ZRhFw7OiW%uTXfDHaMqoR)fvtQ=<|XoPPmk zlV>%?SlYo2>+LAT^xlyb=M+j|d$C5Z&L90v^B&Bjb4g#&Ma1>xBiwlG5r6uw=dD+t z<*6%Au-$AZ7853msT@4Yvud`y|Ml~iM)tD>58MU*+_Ak_LwKE<)N@hR5*BRNbu@j;Je?A`h^Uv?`dnq>Z5}Jb zo}ZHt)7O^FCe&R^92>T)HBH@+W@1c;1N=M9(hz5DDa%q0<|GlGL^!;fQUd*Sr0M9{ z>58@6QhV{x*REkzZrEQg$dVLQD{9^1oE%z-iZR|WsWN;e4`HrSW`FsF<$Ok-XIx1S zn3WS|s|gQW&Pr_{LE_T8X4Ei(IC~~VF;?eIRZ~}$EUm%}ct~>)f__Zbw@k8vX~ujeU!dTb8s$dv`x zd?fnTrlkzQjR5oMRDYIZUNoFK(yZ1Sq4--N(B*kX5;U$ZfXWRK%Xp6d|C9EoQM;}C zSr_=b@7d4!v~RPzz1MC}le5oBP7)dg6&*NCB!yVO5KE{+i&Cr9a!6UCeo>-B7@{bS z0;&K3!74x?6ygvPX%wYVl8}Z3lAN4wpWUqH?VfJ-cT*q!_kW!4+7VEw^KS?^x& z`^{6sMd`v0}Sfk!2~59$b*z#ymSlJa<>J z3{MlhVpbtc3*CuYCmav(=Dt|4q4V%S6t%3khWZq7*nhu)wdbHgX-gEDkbt6r3~Mta zo(Gt+JVQc=GzX429!S%UvaCsxnlx<~0)Y)Y&g#m5;tkxsqfGfpEar?mpn1)l>eJf9Rj))Hb5C zOA^LjGJmrE@%R2=(k$iU!wZi4BmcW^`QPwMKmU(Vl@&$w0AorbZFqP48c)CNmlEX( zhnF94{p<=*RO_f;f$_%5m*(af9O`+TyH7D@Eo~20b!ri}sd04G9zV zKupY|g_01r2Hx3rRl9bG&ox?<9yY zE5vi&4?WGP5eZQohjuFFG}b&DUrK9kWrj5lBg5k26R9&3AqoXvdkltN4LIxRZO>JI zLum@mx;1Czn$3DeRTUIP#_G7>X20Xk>^Z0tAjriDjaekQ1P->62;29)2-5Rxj?IbU zn17;-SS1TKdc|F|=V5hDH}+gLx3b*I8oGAH@$i_{=9#D@0v@VNM1JPXxS!f%xI~q5__y?X7L0$ zS11-$Df9MT;76koQrtFKvvdoTQ@G4=@Fz*WwGI_)8r3l*BQ-60RH!=SpCyt?AaUpS zTl^`hU@+q7)4}`_N71a&o({pLYf)aK0#rSYV@aj330a+z9upRENtxutL2uicL4Uw8 z+A}Koc{FsOBm%7Ix*#o`xFNy@nRY`_95L#V9V18IaI9-iUBjdE3#zK%!Q~l|*4U%t zl-4u+USK#TC>yjm^?J!h)Ty5L4c3Kf-rImRb%A83aPBbxNz!q4_L3w$(svPYRB);d z_2~(olsN8*qLDZ;DCJ0#fjE{lj(;R=NMeI^J>AeV7!|q_a~O?B{`+K6=iB^Ghzb7wp=B?offR+0{P@(SM!1WJSWq zFP{rfbX$-w3Q1(xi}T5APj3c_fOy-RBUN0oDVCH)hV!toA|0tu%}fOA`++P;$dYt! ztE{yQgS4|kzz;vx;K0&K+G7R$+)sZSAK$&;`QeHYL%Apgc?pch5~qpGedCCs>1j_5 zz3Iuz5*^80QE6%Eb*BQ4RDUXmEXig;{8Z6Q0Gn7#OuhE^_RrGf#6%D)b{y%BJ*T#1 zyIitbE!b|BRAs^Xu;BKz=Z*u%LeH`9gB9(nfU9LOvsf%}xDd`6k;N&Sc*RDo@Xj-& zBj@>sk54bru_pB?&RZ7CD-QeDIUO%qt*%Jpgkc<6W)+qO(=_8=GCLLzyvDYB&(WOu!)L^v(V|p(R?^-ukfSD!HhAS zqK01eys>;jo~P{V6W7N(TGbI}5nH`x94$#~kpNXe7EY#<&1OlKrR;Wxkl-K{TNRg- zs=x+K^%-kMMrtdJ-GA(r1d-Ot%()w+8>*60Iwxo5k;XK(amr&OVHO)7%mtBb{3Wp> zMA(NIrePTF4Ki9`FtlSQ5lb#5?Gn-`#o{=2N4)ZsRf%y%0!)X2GATr_8yF`x7(4Fg z$bN=7^}{fMZaJD0M^j^OEKmFcmdlFGc11IEvL~StVq2i-Wq-Lm`!?`GA}#vcDf!w1 zE_e6%(azDe7mW5Dl-iQ#4eQPO6h)2qj;e$>I?=X%|J$K^)RYt7K4KF`>AvnS!pJ#x^Tb>_Yvb))_+OF^|+&;gi zJ=Ux*wy=t6x`xC4K($?>-2vS-c)jEH<~i5TpRw4kxOn`4;Z$?lA7r+;C@B^NI@XlS za*q6Ib;mNUSh3(ian9v>8>CqGRjhNKp&MiY;~b;0oPV8dD2sbP_w<0*O-IuT(^ZyA zVXLe_Y54N(`>dmiFTVMCp6u_~w?`}n8#$cv9MlP)daAT!8CPID`+U!>-;-nsUE9tQ z96Um13R`)t6{$}tlKhp(^a(^B&GJ31G_i}=wR;ZTfubx}r)v~&w6)APcRk0ZVY^zf zSd?6xZ+}@-CCh!qZM)}syv0Wf70H%(l4iwGGKWlNamqSgv1Z9amjE19%~>g-o!8x6 zh>!6&jmd(k&49q{HEX$Z@ zn@${2MG^j4kalS;st~QCnXi!~;zDd1Lsb>?VSkZC31{V&UJtZdk)@f;h~tR5Zdqg{ zrW;wYm?cWyd-jJT%SFk0xd<1t$cS{nK6ZW2YPkrPg&e>`-vcVBQ)0B$v|Wdd{JdQ9 z-boZv6k#IaC(C@*&brk|NsvIKHKVg3;8NUTNgmIYqq8m~et423U`Mr<|F)J?3avD0 zqJJ2Tp|c|&zan6MU*an^MfKp0Oveu%|bRBsA7RJ4U))9-v zp0l&(7<-2zmCxT;Zf!@4JvT>Phl2i*lZ#EJI2vT%>2bnLOda>U@@5?e<6Nrv1c#UZQ7WMk7R` z!|6obG$960Dy<^VSS>47%Zje+*&R-FT~C^Z>?h+Ghk@1RA$TZtL6#*FqNx=QN2PL1 zWT_~L$C$c1u}#;wR0;8a80DoI4S!kgiDFq`jbX!^>6CJn-;@6l-R%@>a2SuAZfZ95itTz$QDi*IE?CwTt9`|8JaW)AHgX{b zC-lT(`G{>*H=X4^~-0{?~s0z6hec%MENzW^zoIa%gHcgH9 zYl@&2Cq*jV63%YrwTPgqAw4q=R7t!24faH`w+Wf+Em^>V>#C6|Q>ZLiGAEyq(0 zO4APmWuB2NN}8snHuC*UtbbZHC@!Njp7mFZda6n@F|mXcWTk}KHCo{<3}LSzc5yFS z*#LWyXr_o^9D?jlk!INpv$vy2uEx=UU(14tfhYp!E#t7lnwU7b6(vrR1gBZpbHpJ~ zKsy@S^LX)qSVw$y{{ce?O|@>yXtQCyo#4F2dozb$?(80;4EZi2FMl%1GUu$=aOi6G z_AsZLOyen!fk!Fe*dEE! zjO8lB`V(5Ev!#9<+IvNY%<{0-iDo!l`bsM_F(^w>z9dQaw9S^|;herNFk=ZylO!EF zGPKPKGfu^v|GOJCsDDJTrm||J7K3lU~tr+{BRn)o>q@}bNht#a*5WOx@p)Qj(87g$g%2rF-PQS7JqWU22Qr&Yxe>jpPVq{n>N*-RGaX6ef)eSm|XiZ0=W1g%Za?|gKxVJziv7|MWx)5?$9CNq3 z!&*aCE=YVsZ5z^DBvVj8f)H1R$>z!#Gd|Cq~mIGXMa907*naRNwQ{mH6i8wlgpiP$Y?`D2`Ygp^(G;{lmv> zvLzSG4X3){cxvW!jfr5E=lN_0ol`4b8N0m7V*tr#8-Ik*VEMvX7#aNNE4gEmh zEm*FWlx0IRc6@F3A+e75)b@?w8XM*dcapnBN@!)HHM7aYdxx`*R(0IAd(P@LtJQ+d za!J(|9Q-lxen+W3t;Jf8vx>IS7*l|Mg!7M3aeozzEQToZl*KiR#T{PlF%Fa$DWtI` zAYerk-whouj1>BD2pz@!vMx?ybR3grdR8NOJQ4EsJRYkQanh3)NA|ndP|C4f-B6Yd zQQU!Y41Lb=a87-?z`5w}YR(%^A$TY_9uD|1rbrXYETwTsp4$0_qAKaS29#oRF3f>A z(0|mA`(uz@vTz$ikhGsd%TjbJJ?Yod3uX8j&fCTwml<>6S|?} zSf9jxn`U$6=BzCLuG?E~+#UPwv9`tnm7fln ziM24LHB1)f=>?DDh(%QjP{+uj-?S}#--``=H1p3~YfV{}6uB&UlO$#w4Y7*Y=oNXI z$|jvjPNl>0Ze+D6F~-W*EepJd!+)s;WYn=*Rovbk=(_F`xnuzSFbbSMP9(;L$z3Tj zw2R`5MY5np5SkOfKTVT4c|lr#h1QWoJ?Z;E$iA0qG6~PgtMV`K^d_P{oiPq8AR>w! zXJ;?a+R-)(>iRL(W@s(o^}fHrn1n35!h1{KRdn4uBX5I>2$;zOSPy!iSv zl!kXd|0#-#iZ?Ib;5^=tJx*DbONuO`NDJ~L6XakN5yufpP!;UKklIJ;jE|RwEo4dKie0YA&U%5qT(kfoRO+eKB9Bn4TQ;0H%r*AjP~r_x$Y`D0p9QLxG@NdYzz_u`Zj zt8s{cNqvm2G-Xl=0DryjIPMRu$_1O{hQ9AP^hdf;9=OBlK-c!&df}VYt_dTIVS8jHKkH+|y!U*&VYw*h z1n4Q9SqJ3dw28m32=%F-gg@jwCq|#{(*od390T5yctD!>7>NVO@+hnx=kC*FIoM#dR*` zurH`jEAsr7_4XQL;MuNYTdql6POMK@tAUb8)gk31r_3x#8S&xi1-tGrFRVK{4t>o< zNb{(&lF}5kx<~n#G>>pDBGQ&5IiQH?I}Pk{?gO;8q<`rO=RO*(uQ7W3%G&<~qqR6vc z9$8d9`~4&KyUV|$!#5V|pM(B&GWD}jkt2$}!e9(T-xKSU*gYbzMzkKKItw{w_2J0f z^{q&!Mt{RB}K?hGuF~OiDZ`;6*Kc4OeD8@=2NO6XPs7DEHC7Hp}}Z_ zFXeM~*3IFCT5Co<^1OYCy4HN(kM4PSw6tx{VMuA54cN%3oloZrEJ+TW<%&hx@v^z2 zvwu+_zwt_bmIq?a*NUI@o&hXzbgwxz&SC=>LI-EoG#i}tpjKjh2$AG?kAKCDHGxm$ zkhECqSS%K#X*O4stL2JEmk-FYbarW3YdH^TBNN`S>!g}3i-NZ6XQ`M{in?io3o8w+ zXY|S@U$Hx!Sg#gr)+-K2nN@2o%9c6U^M4gbm)3gDmy>i5spK2ma%*=OH&P~IYB1K! zORG>&hU_pghm;G6*-54xy)e_&Dx%6HUAib=%pmkQis{E8{0t$_PiXbm8ODsZc^mID zK!-#0{+G20)^6}VXSJ!ZuH`2`ic!kb_Zdli1R6%OA&v*)cwih8&d#6n##zk6;(wg0 z!%gU5B5`ZlhJF|&879l9`bvyM;qU~9R*|3pP*nMz-i++`16f?ijzde>?r01OO%e&_ za zBX&`csVN%MBBNDB-%3)(lz%?l^&RcdlGuVj^+Sfg@ljaJ$jAO_jTw#*5unRIIRFRl zYgD**`w$*#cyj6Z=1)8FL=MWk{=iwjX0QWAo@08)6zSczO^6F;9xcRiEVf)FG4a~_ z*)r>`pFuv(*}#w}<^wLzGag)?hozSQd4^%&_U@KA(yUfXPIWt{4u7<5PgUg{j>o`Y zxL<~~T|ZYpv#vU{^xk`p$C~weL0RN9ZO4>}H;rC&ke7+njaTfyIuPSL*W(?H6F#ic zigxTpS{2ft>$=8xfyld{n~kGrPCQOi$v0C9icBu~(T?-NQEOoZTWe&j&_df}7<0yG z9s)U8)?l5U7ei5G$bYhit}Aga#+a0*smQVpR7}%s0gts0XKbRi8^S)5-R>cg{u*Zw z*DR8P>%K!NvD$W8^v(czmQkpTA(Ad+2(Gv!*5T(Rm1Q5$re$6P!$mY-Y?64Lgy2d~ zk>z2w?m{eBNV5n_%dYQ&i&Z)l`K%+^IYnB!&?&7viDxy@+<(154FN=y!I3!>$Q=cWz-XUFmiNT!&n`a%( zv1S|%i}g~B3i~5{*HiCLQc1-T<$6J}EU8Z?+NR~v@&RAizQ;R{UZ*H>PIbfG?!dsv zz{t)XX?@2$IDb^)+)0ShgCZp%&jr;M$1%e&%A7eCAo{Ux=*E#Wo*X(;;;0bwmr+TU zWemfBF~U5E6)bd2%s}EhbOxi{bA4?&+n#ZDw&id*ay&Gc*z$3AMQvIJH=;*Po~C4F z%Dy{sIJGQvi8Ye3l_V*~8(J$#4Az=J)3S`1dFVfw5r2b3==7!sFBMSd@35z++ zaKrX{I({ckfSa_>LjHHoan;=NxOyO_k}RdS4L74$gAeV2vMOf_Y7(NxA0%gFPCggs zJyEC_rhi$f($m3mKmWDXki-$gFmkHJd@+uOXS?UrUCnmbvI*P!w(I2I8-p>HvMd+} zGhfU~>3K$OCuNLMGaO$jHOB!hN;&w4fc%^YX-W}Z*n5!obZCQAT&J#PbYqZwX<~%C ztAM&~=!c%7EG5V?>|ENmrESDrm?SYaScJ{1^M6eh(f3_IT1Gfm(f1q7xWc&#h*?xE z%jHKz$t`zx3r^$PWZA%@htKfrc=r4$ZaBw##bNh^I6jkQ*PPwvgEMTtljLykR$Sk_ z!^^_)aB(T7lsFRmIWQX8Z=`8Lp)+dVQk#aZ@5u9FWELM zvwvZJtCS#6rTbJNNyXeJXpfReBjKlU_`1@CC^TuTKcNW+KaVETB*nQfkI&M1**nQr zgTX6FZkVOslLO3q`nKmb+0ik` z2jVo5QoN=MQX-TKF(r{k`50>zH@7?1>m}>elDckrvAd$RooFDVm@+QNWs{t z9~9@@bUU&#;r-i>*q!!_!yu^=c}|+7C?{zmWt6jCE=l58)CI|(q))SyyDMjD) zRNDgGgSxAgrAW8X!oCFf^5viugfMkz>>5#u_Vy2U#wOtP#a z&yO5V4Y(WNJp8#cjLA{TQI$0wPuqW1DCN=Gg)RQ{jw$+X#g{(x{OorVvN*xVYF4oH zW(dVmOde<0!E$O&XdMYE5&`lLA;Kulgo|yRU|Cg=R}xT>T5Dnz&wW}Fr;KKxA49z7 zR0u?xJTAxr_hI_ES|7k$Itt9|fRoe`Mdh`hQ@%|wOUzn)?sMiQ(~k~352b%J)*I4n z&vNxK$HUt=r~kHxZyc%hCmwLyKSr4|vZNtjf1M$DjvX9_n>{bS@r<(v=WHLIQ&a`} z+Z~6S9jo&V)>_JSg&7QKvgP6O0hi@DXX%!-%woA9nOjjeGbNN(!%y*7zjENcrxpME zU+{##@nOxeHT?ab+wl5%&R`t>(l2_0uf1q__fg54mpQ-t&whxp_hqmS@ird#@br>x zzGj^*iInE8^=tfOSO9-I=Sky~IHV#g?V>xOi_B1@Bbkv1tIWO=Kp%2F!e(NH%hS>%PT1Qg3fMbmaO zAbl7{Ztp~?5l1make0E)jjx>L1nqjT%Rq{MXMfYZt zaUAB#QDjz8(D_O$zg#bgngz$hip%pmHk%u)H}mMKX?jMJ(6z5Kj!!7dhUM~(Zs<7d zFR<fesR{6Pot+K ziP>%sX#IlS-NVoU{ml>GSnCSmxXN)BB{jwJ%fxAoQzL()u{4JhS0BD$b-w1o8;{U& zM17JVzSrM<106+NzqrCV$9A>hQ{`K{yM2RowFnQ7R17a}Z+JP}aENN0xAfyk7D)xr z^_>7{LS!^v)B}-@7}UtgiO@arLcQ|JbFwu@TZ>@<%hHweH>S0sty>PK16iKo9n|%a ztPq+~t`mP^Coe`8$Dm?HSKtVeBjwqw7u??7U`E5)*@mYVkBDy~@-*YFKk(t24*b2J+3+J@ zJIZIT6;&3o$Ro03a?dIL^p9NgC;#dd|NM76<&DdNNGpsDE!x~>OB;3?Ykqq7KJT5q zOQK`e*^)(G$pNE9KRMV@B6HFuu}Y}>789HK0T(EF8p1t=rZx-$b+Oj4S}ke2aef)1 zC?bDNi}^B}qQu+2r^vH8MM7)MFpjJim1u#(e{Nd*6?snA%P6XDT8y<+WkDQ8GpkpY z(KetHM~YGy2orZgR1x1C@tEm^RR)%d*58L)YfydCzingAMOi*R_AthlX+7;QYH7b55SOJbCm1#-BJG28=o5 z;(W(qaZ5iQSuc)cxy85>hht9L%J#M_PNdl_nLT0c6KYe>VI#Z~CN4~hnF zBTLsvE0(M03`0tNI{#ZP+v4fzlmCGuDL*1j55y|w=p@Sg!!LgW?>!G+e=H*JexyA$ zY`0sAvgFx^AMx@V&v@spPw}mf-s68$58e#+O-J8LvguuO;Mwq!AsSI$=4m?8j83E> z);n=_g)qT5j!9#Y2wj^yyuS@Y_LxM;?60#u##^it5&5X(ft#v>WxnLR9EoBr;AO2S z%R;oJ)|18xp9;spSc~zNB+2AMPcyXkY&R?Rhnnk~JI>FyJh^zl)!iM<*n)qN9Is8X zVwFDMJ{ZO zAPsZQajF}#Oqj7z6tP@fhA~PvAJh}Hdz!0Gc2F0z=G*O>!?8vI%Y}c$%y&&6UOsub zR!gxH@Aii|?V|4oyz^9*aG2|+4LbsPK8t`dMWTQj^}y&X zUEk7mJvxfWi~9v@5{pCCj3Yi`PU4;@bx|Bkl1ET3$$>0zbm4zO7o>4IOVlP5G{C6vyGjb*p%@dX4waKgHKiAMxz?GT3j$^_PU;KsC?d{3kx}bs6*b ze0oiuMtt_QiZ?F{zVOCUq-5tlTsCwCdK)#OP*rc&Z4qAKO^ z(UGQZTG3&qDW|%{goVkXEM8ggDY7)B?Ydc7HYpV1I2M3>l8`1bePD4Ec`6(U9dS6x za@ZJycaH65OAH7tE+a{L zlp22-N2!SOqUL4y4dT<5H2sgDS%Sk-#sxk^$?F+jG)YK%J4wa@7sCs)Bu{0$F&II|P64ZgLBb5D zpR_$eZNsEm303j*zY%3dkOyjwvt}N}{4akTyb7mp>HGnD&&}?dw(ZzloUuMz6Qv=~ zD5Rl!>v{jnU*oht@Y>r?dE@aLyta8nn#uC)Yj+>=LGuy4=}CiPA`i}@X`@^>O_0h6 zYt?&Cqy$_sI&+`+YDKS`X7??Dbv9rR!&Y-Jn9S1K9y3~!BqG%*cCc7wWxklEq8Wc} zEpd`DC=1CNk`y96WB2kr<9IsatwAH2yR)-3P22PGq8KMCq#f$b<%m_hi>;jBrnpN)H zfzsx@wRjCY-1K{*L>zh^NPNVj?1F!ufrIUWcVE;A?>$}cc$@KqUpa7W4KMaRfB)yU z{Ma{+bfe?1ef_`(HyuCs(`%ld=RDqK{MujqCPfzUqhCMr#zoFIt~2=JbhnK9^OGaZD_EP;D!V)Vi)aQShxu4)UBC#tf z8Tk}xE=H(v5LJ%W#PPl5SEE7B@SgzzlJ|6qpZAE~dzZy9kT>F!EGdp#z3< zTDVPz^TfBAR1i7@&Nj^=s7n494qgR#ld(G->FNR36+C=+PP&vKc-yprCL}}c`tE?O zN8Wk+T`n#z*d%MJOqPEl$L7Sfxx;BkeK^rZn#Fn<4vqkX39hL)=;N%hGo{{GBi?p* zFY}q8D#n@F;_00y%f-AQ+f3-)$S{tinQU2A4JHzwcAAOJHc^H$iHWlnK3?DviIUQq zVRWR%k){Q8-+{9v9@1<9_LkNjxw&mQ)JvA7MEC5w6DQZusE&UJi!)*$ajI(x|4S31 zM69${xw&=m;UN8J_d+bjKH*VyL8eoZC=RhHBd7XESyu9}^}XQpw3qFF18)?MNuq?0 z>KCD+(=4Nkvv>o*Y8=Sa$3Tx(@NkpySAKfWZ~NYFaA*ww$QRG~`@U&|bDl4KTw|;! z(ux;5sU)79WfXsDgt4Aq@%KIA#ctqt|Je^|hhd(1R;z-d%vrZf*83%Q{hnL57ulTm zBx6F;btG|2nkGEFyub!Ez^Q4e>t=S?ZMSQbQna&$S1zgj;S`|f$$Y^q7A2#x=%DM( zQn}RIuE*F{Alrc~mIg@AIF2l;lC$j^Yb{sTcMRjmdbNKfj-$EdoPNKgYh-~H(aneL z{lWXm?qV`fOba)w94B96yb;@acyV=zPjc#B#x^442V1D# zIY*D*&LU1(KJ3YtFK9V(xD`c1zAP}C4Xbj2uPtR#koXAg6`4w;nsuJe4k!&-mQgH9 zA(=%H<1mu1azPAwN0doou2i;qCjOr%XJjPQV?&h2_{53aBg}wCMjAA&?gBY#3=gwJ ztWST^o-EC%(h8&9yvcM{ka#u{c(O-Ykm;9oj$_@js0tRVGftiqyTf)5=A$NJ`GshP7VKufq$ja{U=+>4q-M z5QX|yWCckoDFS(tlPXynv~7p839qdlupfVp)MJZ6k*SQSNlH~hL^MAr-}l4UeBTdW z(~piw!~gI%Zuu);+F_jMzx(l9x>3G|KlMXbK_BV)@o${w!$r_~GS4)|^8DpBrY~5p zmXuX4E%~t|xl1^x6J?SIh>PfSyMACadVa`@JVS*Iwp2TMUTj$-%dNKUW@W%~QOZY5uxD&Z-n(c|JO@cD3vfymHrtb%CZg-#*Wl>1`9>**f6?M~wHeRYw ztz_mnRp90ochkJt4h9fo+ANd(sI;9|k%&DijruQabfV>TA-c)?$)zdD&v6tpj3IyfERqF~0Qxl#E^k>cdn^OZsSQ}pl=@UN3{M!% zJ3M;u0_zUk-Ho)(=kaVMJ?i!qT+_*cU zqhJ6o&bM5gZzR>a?K#oR9F#7|BehcGWj>S7tdTZ8jT3o~!#MHPL(y6Tf%|_e&P=&* z$1pyM;}{$G(?p84?dZBTu%6?fKykv|m=rtHygB5>;a`EmLs+!A;Mh~(9rZC|7&fnz zw11n5*DDV`Ba2?ATz-ute?jLuZfidQVwA6#dqJe9Ys}!Fh)(1NCHHn6V`e`Vq%tgNs;r7Cl(s^oBVG=n0^6SBoaN*__iJ6d|$u_IOyiBC97*PIm_K0JRur;1C?*igD` zp5aYf(0-5yrz#7wV+tBZFO1fO7Gb$_jxx?kmS<#1hSy+qL`gwxG%k|B%0*RzReXB& zCf}%^aU5z=AC^tihCM8OWL9oJ@jQ&yGaCEJr$RwDxcRS#(fy2ne?RNeTGO;0ZQHY6 zFIffVg^o1&UCQowq$q!Ls_hhBN2BBoa(JG+0MKM&*V3_O>L%rTjd zr}!U@CXJIoG;^Pb07_%Qh8kx=7btrd$q&@wu)qI((|aLqEKRl0q|r(A_QsH;0rE2% zM)Q!te45pwrmXJR?MAxpZL&OLwfY)GdBA!@*PbI`k&vbxj~{27~W4l!{QvDvJ6aCwe>;dpMZsZ}eB^>HN2vpM{98tWJ%BZqzzNobm- z#F0GbCbaq1I#70=_ouPU^|LhlgcA)WDPJ4#l+3Ux9Sclrx(MdckH|MdGB&TwfSHq@ z#XULFG#k8+|F+iQ`-(RVg7fm0w0wcFhTYwc-Sr)dvlV~qi>*|lFAm&Y-SW9FzQ=OC zB+XL#x+7f+GH)0J!qVA}zU$}BV701bQ)@(zxU^v=IB6iK zHX;f0oN*k{aYUMj*^C0CM6Ww(fMbM6HVy8xBnyM_g3-7celopa(_+LqH}hau%f-A! zbzbxE;!S_f{cD^|%gg$jJj&T-D`KZO)F;l8H7j31KMAa-wp4CUu|6BJEMt{c+>HmU zwj4~&ljH%PJ%5|SaAK1z8RDKS%Ne!h?zpGwv!K^itQL#F)R5Nsb7${x9BN$WaiiSK zt7XN-I%BhJNJDEoWw=Z&^|Z8@s<+Xaxt*H-zrTMEUlb;UXIY8_ttfJ=wd{5WhGF1r zyJoqlh@*(-*VkNiw-o1(Df5iF6?dYsaD8+vGDqdaG;?oyVXi1A4ejyNyb{^O{8E~b z&GpKiF^>R}uum|fXsDAU;cUCcIbk`MMUJskEyh|lo~QJc)VP>7XiS7Rl=*W)q48Z4}4Js;rC zJ0c|nu1E$4AnAN)$(|mJ1$U zoMT=J*0l~MqCCH6-Bx)vs|+UjqMI1W9;~+W-zz29NoOrZR?Jev=^~n*@#)!$lLV*j zEWK0;#vy>eaHK^hE;-a3_BmZ_6LUhL7?IJaR*EFf@SNR0Gk?p9_m$0C92?fl6GVS8 zhtq+kZ7Ek3tFtxBVu@}&FY9N#{!LGL{jI0+5^9ZhiYgPyO+Stpg!MTQpQ3n5FBk#h^xUvN;>_x9(?i6B4iMyHGXD(0$r?TNM^;#*)MlnNEm&5KRa1 zd=(X>s-!!$a(kx1oPlC=nl$qBLEL|KJ?qtCmXv(-(TDu?zy1^4?RPwQaLE_G@Od6Q zxI`(%AOA1^1b_5<{usaZ|Msu&`Okiy<9M3C&IHwPfu?k-8&OD{T{2!9Ubq_$?!;I3 zAM%;)TU=IW{Lqj52>;Ljq*`NgN0QWaqRtUEo84ZRvz=n`cWWtp>Gt$1;~;ltx| z20t^q2-;e&tXjAoVb6%#6Ih1vfL0P zo7xGdK!s<~jE4HOpzA(^_c>?V7wG87X&=+~k6A1lqPW4div8{_oQoiguJXKNy*!5h zu5c2HqCo42)7Vg(mMSiIFFi^oIG?_vbTyNxd4Yg<8+LO;#*vZ zM4E2&Y34fxx!M3ZQXY9X;s~t`%jHX~c@1OIxmf<69lTLIk{2CWexfRC()7sTG~kWE zC89K;%u5zg!R_e=r4&z}K9zW#P@$wgkr*2#?19d9)O8cEcA|eZ>{>~8oqu|Nry@eEYY3JDE;dXKUgr=4`VTEovKBzut1QzvK7(-v5k?vvYpl&;NO>S4*kv zPDj>CvB)x#&_+!UT06kC?HSBYpxQ}BndN+8{gC3i=lOr}iq1Hk4vDtubciX2-l25M zmAT=8J4bt|F7l8h^77>^7Z+Q~BIn`7IWMnn+3gOj*GtMGr*2xdrAKMUS8p=ZwqcP< zZkbTM1OhH(Hz2a=t_j3aGR(siH1 zxq_-Xu~^=Pq>Gj`tts*j7z38kgcM)-RTf9Q>STY>s|XUVWQO4E`U4mFmN<$@QmNJl zJ2EDQ8?z(2j(GCm0gI~Q$@xRwQb#E%1MPU?}cI4%n`t)hy_!*h8Kg~0d{sk2X zo>_l=r6Y~=mU3~8);+tsCk(^iLdSb?`89ffLSczw5g%u1Mm3i7ZXhoOINt0|*wOOo zPkoB>iwiL>Sj*{nBFgSd`7BOJoaAGz&o_AIY3e#SPA2J%B#bJhh*iYs#40@f0F5&E z$m8`re{_0~l~(MJdurQIF3MM&BeEsdT48^@V+dcrEOO!|!s`H1_AyIU5oME2^Imu9 zJtW%j@ge1{GtYJ*RlFH3-}uJ+{FdMHpO9u5zwtNzd%XVI>-^Y{{TTnjfB2jEO~2_k z^B?{8-#kOMEf%F=xmYlv8edIXa6u+C*;tDr=jp{`R_zj<%W|e3JCZ1wTctRTd3b+$ zNl{33-uDBGs-PPNuG(uB>jnSjzx8jh%oY;k?j47^rmZ{ncL$Nmt=IEL-a5x|tT|F+ zm1D(%+-97P9a)_7+V&9#*Wg=)GSH4KBrasHIS3fSy*&^a&6$>bw!sa!2u^)X|6<_D zg9lV)!FIdm=2m8^tJQ)m6`I>38hL+X7152b%A{&`&d)J76DMI9O$aI#{_$qLniC=N zEF(>m&^?7f({aR&BS{={7L*dsIm)si&okP#qwfcH`y+7_v0g7pQ-SSgSxS+m><=d* ztyz=>bt5B^EKNeSJ%ljDWR3vWS`eC3Op->Egl=rGqjZPfqhfj4r%+StEMtE#M>yxg zc3#bdzUg8a1J_yJiGV*0NXRUfndle}b!(*E_TDqPQMf7kK9NBJPBl@yM5%=B_KNlT z3g=tl7nh1Sz9CB-{orZp*BMRu%F&@Xo|a_gOQP5i>qx*gi0mrX5v}b>bi%e;(fd)< zC{B0@t?Kx=eL;K^@%X_d>-B#EV=r+B$Mf-;F&HVd*0KZ0#2j>g@gVU%C;?u@5m}a# zM3VJ*JRarUi8SLdiW9cT8k49;cr-9wS3 z>4r3G@j)V*XL;b=DEfX)(`-o60p|vcN&jc+hB%5_T-V75=o6V;Bnf}Z#gcMSN|@d# z?8-;4Jt9jpx{;5sqyd#vYz1QrwLP zo||hTr@4%`WGrBjOVjEju#mtYeuZc;cn z+$+_sLn96>tu%ujf;-NU#$t7?+gc88JBAd6d)T-2j$!C$@xK`jagvZ{(w&M$d1SNv zfGFKF+5znYBSLG6Otj61{bTz630ixytR+olQEi;VnFVETXPTh(cE(|LMod!|)fwM7 zK4UaSwA_DYpgx^s?%u}4HxUmn&pF$!g-?ALIc2q^kAzwDBo~`TNl_%Bsv@Tom#g=l zQ&V#~9_Kl_vyLp!DT{LU3OHwpqj=txOfz=xWSr);rz~Hfm8Us9z?C^gvFCVvj2TMS zo97%4Pgt!!L`OYYEbl_y$t7E#w&Zz7QQUDn9@u~H-r{E_5yx%UVa)wj--S6^p64Ni zuV?g@)p8})z}s8mG^VRttZ}@4{+Q1{{uIZq<$8C=YY!gq`1}F4c26C5*w~_UHgCbl zam0>>G)tvj4^A^PN)$~RCyZ|7nR!X?2b!@FfBb2j7ae(7$jud6t|+u?S}Bfo4Xx+3 z?9qR$B1lw1qGEKSBt_Txd9F7(j-~@#>xj=hNjUVHkFFawr6P$V9zA-*Yp=b=U-%1u zk?;AV-@`BX1^)os%Ps%Z|M6Gy%LW0P%z>L)^J72$n=a2j`o;-TY zFaPDgOf2Amc`#{1eOO)|OwF#_v$7SLO<1HAQ6hLv0tT^eIxeaWiwEV5*!!mQcldwG z_4~Z&Zcqs`H`c|T8@I!2hf@ya?Y&Ug9|pB6{9hn>V}Ja%W}C0VU_Yk zMq1IiiftKDq|yzD*}<_~R1`%vFIf9QxXd;z;HE>ZC^E7%<#0HWCb7gG4N}=I7A0NZ zOC=k|B1N9FsLGHaJfM}rDm#xArpSMxEZ_mB$f%hotTni>JdLC9LTh3j&&q{qRFWi8 z*hrL;4S8WQ+no*;acPM?LN*Vn{REHbmR4aQn-`yD6W(3yTV zGPoe8lMz%L9D0)HX9MLpR!QC0(8x20>hVJSqsB)xNZtz8-P;eCu29aT;4bKD}UJN*->{Nt2W+ zEos#tZn2;-G}dAU(cC6!%3uZLp~BaXf)@8=8#*=MaG(`77%$RHth0ZU!T}&c&sx5A z=s4B2WU+-`Q52Cy3CanA@2F}j1j;eVnC|CxlYKSf8`mwTA>qkILeusp!f#d^ta_zl02|MLI)C;0N0zRbJtzBB(ECcuzLtnM!rrxd;E zX}X4L$R)fqlR5c)29>{$U-wWXIrX9Ccsj9Jt@x&gpW@;=xE&K7n-~~VvyC~44 zL{voNaZcNJ+}`cEyx4MizUB6A&u({+G+(V}bl{_9j&tziAC7D*&1GdtlSH(; z#?mws-1?r!u&4_1ET!v5k}!5Sooc*yoS$vLdv0&{D6O&1v#2Vv%y2l?v|S&f*FB4> zWW8DlTcqnL@)Un-;{eC;B9~iLEXr~&RCM^W%jiV~R%7PSny$%P!Fb*>N zjPBDm6wJvTaU@+@q@*zDja)J^uks8|mW#%SDZ_^9Scm7@8b{Z+qFe#Wsw9deq|$|h z1}}-??a<3*5j3#F*wb|#0M#OAyZMMbjZsQ6)<&l!9a(=X9CE4H0F;@Fk5CXbrp0>4 zqvC?EwjbaS$6y-EjwrDaZQSv)z6o576%Q}ZDGnL8$31#foOFXxuOvmp5zblqRyuX3 zT^RQ$x%?90?oRv z1`~iiVK;w}Bn?`RjKi9?Ez!}DIPt93FBpaexR_X5774^Rw>RWfDN)wejiNSnaG7be*9=3?5SC`sjBT-4$c)81a8u0B zBq}#pZzWLAGl$Df3x+Ic_mU`?D~2d=Nsnz!-*;Xy zNup#v_@+ZQjv{u46Au=Ohe^(%Q)J5FeZ+Ts$9M3B&wrl({=fep`0xJwpXYo3>+j=F zf8U?spZ}NsIeyu%_+|5Q&ede9eGFq}c<5&I4e~Rz_fgj)x{-OVZ!|A|Jed$YL zPpoUItdPsdOY2?5Fg*0fTWC<`1Be_i>hN8%WbZZppUN0c(ES12>msi(pHfz?) zg*=?r()9zE%X5}##q*mh#^6tnynx5kG$nu0GUK0A3C=m1y5a6_&t|jY;(W{gaALPR zkmtfcNP@n(?RqW?gL5%uDU!6~sm2%=s=*+IbMp61+fkJTi@?4;)(vgf^Wfr)DAHWt z++m$3jkSPQ6fCNW?M9G+qCxKH`WcJB72|@$p`|03VC0Fie*QOPNSe?kgt7eWSo$sDMK$9L?0^s z^=2&_d~1UA(uMJiofn3AmQ!X0?by+e16i=fCUL?r4j5}GiVBCPHv|139Nk4#k);`< z9T~zRZ&Hj*Q9Hvph-KE=d44<iP1``+Vm7EnZ(g;^WiH(7_oJmGC5gNUJ;c z!-;4wIL762!P$1rVo{0{vfi`vM{3nDdNY&ZbS(P+D30ci*Lx(`Hta@#nX&7FIl@dC zjUnmTS_v2W8 znK(Av9aWOC%wbg~#P#vS{dGB-KvW%dKZ)ahmn5#3%Q4$HVh;iX`W*KC<^m zj=tte@lZIKR%T8PKW9P7!<&p3cDeyQ7r z!|^~-7G!xgC;Co&7^P%9F{po$e&~4adQ4_{l02N}yAu?<>*SzXEi0OS=f?cENg9UfFSPHy4O$3M%WVgdG@H>Ckf69L!|Koq0Z~a-{ z%DbO_m$DFxb{eH*@f6!5VsN2)CG>-ut1XZ@Y?`JN;rE_S2b}YiWr;C{)lwE;w|6_b zejv?qw(Aw!%~}99<49fCtXC`Ee(ep~u44$?+{r3C&0fnQmzWh}QL5r_I58T_`T2(R zYC)c*><&lv`{S%Yh;)C%cA2qWR`jFg8&`W4xfX{SP&X}YJKj^HtfOgK@;qZOmbz}) ztd}H7%=OKV(b$l$=Y#EfB#wK^BB$@AwVblwnlSHOE=sCOIK53P??Bu2^n+A+tL1|2 zdd1;X%Q!)YWZDp|WLy{*%p&_xcz8!dOqQl|cQn`$6Am*IsC<91jyN?n6a-$wNM00k zQfQuJINUs%v(AdmybyzdvsOk-QzsckBFh@3GR>2WM9aH#I-Mwr;$G3=9DOIjwON|Y zJlqM=ql2yA2J3#3BxG@hkKJ6TNu*Iq8pRA|WOon)$!E^r#yZQ3_J-I;JSs0)L>1n7 zuGJmadWXGnoVS0%Ldo-#%Zn|mWyR)jV&5F;Tu<)?p_@epVv*@NS`xqGvqS7 z%`=|eydbj)j~_iCjw5b&JMQ{DI@MIml30tSQ6x1ouW9N=w#myi*4wbuIY>lDtng0I zj)_j_hI{MhbYLZ6;c#kC)W@1M%gFLvZeKs?{O)hyiGJq8O}*zxPR6<0k`Oc6k;9>; zEORz10eOFzzGa(f2AlDxzW00iy}$QA<6r;Re;wcXo!>!Gmi+vm|MPh7z0dLA{rNx7 z?al4{GX3gb^MAlt%kTSLzmM!p~SM#pUG%MN#mzuYY~U z4ote9oWv6aN*T`P^su^}pfQv)-)voxgwWck%;&0ReuW$w;iaew3 zdTC>WHnu2=pb!Z8RfWvV%d#L%Vy1COW81g*BgrLp) zjH-J&*Dx6BrWM6V64SIT_R4Z`ww2tpG^J@#>^;P3OxtyIZ7VT4T2tgj;FNz@vMd)~tnkX`G5k#L zRo8cPLobSg0Oo;+rfz6XHAPWy>KeRv?CEJh?t6XQ21Ow-tS{C@v<< zW*j7ogB8T9GnPYt;^X=yZ)~2(;oW+cx)NBCN=ZpMx+Ar1*dLFacN@+Z8`i5OS(bka zNAeKE^dM>BG4YU<9iZ#2fo_s+HZ zETL$QCYh=j6WktNL7_6S&nYM2 z`KztG57ed3b~0m*BXp{{8SXf_nkU&q0af>6Ma{EJW`97WEDqnN0f?>R8yG|AU zq=BBQoh*}W|Mm4P-b*JkRbg${k)^35E+p|Rn>(IPtdfj)YBs`&oZ2i!b3Ylx4v%2uQpr@>!>SI)$$lF0Rp7ZtwOKdB$=n5%P!QiLRF< zgGg&!(4r?g=9~>mPdpC8OMA`1o*10~Sp+U63$4leEHOqMWm(O6d}bVH`K0%rJTHiq z>^{;+3C%0alZ`brO(TCDqBWtSb@%gSFUE@cR8y7}%W5fX0q+?4f&FeLt#ueDv`xo2 z3=~yCp5DaJsR&1ARs#2t#lOB7H{|d#-WQ2d|hmlj;P@9I{$@6EF zrL`S{8A*uARVw;wrO~Mn#`xo6Zk|%*n)veZ1L8a^nZgh4Rc-4uuUV-Tv59ybKVZAuFxY{* zZ>Z~&GI_GGcmM?zsTlntp{7Kll%Sb4VKSJbi!qI{)Io_%HC<%iS2V7oW zqO_(c3jT$E;s3(F|L^}Me#>w9PgpLOyz|c6JbChjvM71uji>yx|Lm{fcm1y4&9DDA zznkrL!{vX)1-I9?><34JM4^5Ri!JCyWAF5_5OApFfxB zfS&M%P1~`IDjr;%b393fIH3%ual(X5bk+r0SUMlJ-U}GU8bg+)azS6+l4mKaZ~(7Y zOUkm~csOyYTe@zb$Wq=qvwXOVNFvWN8)@2h)_8v|7jkG%@cAhVt!cZtc!=YeG*q|! zFwWNC*{s%B@2HP0cULD?=LK2F#hWNyaU?`Si8!}1UJBruDJ#x~ zOKXa>4>`&C!6e`vamFQ7Rmp0(xMw_AscQQ{I3Ry@#U*}l2G)+SsM_gW<)3$#d$5Tz) zG%Qz3;y7U#1{PIGmZcnyC!wkZSz#3E05lqBcTc1h+s&HM7;%8L4cqO8GSBIPy9i)W zl>(*j2f6^|ewAVS>V-ZTWU?$_yMS$#7a!)||K z9LHBwH}ZR1)A9cB5d(urzXEwHinQ!El=?(*gGV~fzy+wgHqhD1`{Kn~fl1*R`++DC zczluP6amRP8cB4~NCsKgwV2URmSwP5TjH<;%~RRy+}-Z@>W}YPU7UaM+S?IXoUzC% z_T2#;Mw7B4Icfc6o zm1wQmw@2O|KIGV*=ABHWv^>K}BF3yJA=4Skf*Y-Xxl}@|ViFyZ#wmH4&LfCLQIe%8 z)=jC_%m=6Q_lM_{Her8*c}0R1+&vyLsH?<`A_4&GEvF{p&^)3U3)bh~AWpAl?C0d9 zn~FEBG}l*eaXOx}EFjKwD&#L?K9TUNg19&in#4k75=W!uP`=ymxV^n$l`MJv^0Dv& z`T?JLa%9m{x3#nfX*SP|Jr0#YtYdbE9Z8x{6_wEBhe4uDbkBdjIk3zYtm75hYVPb# z77AGsG`|UXk>i!eI5$UbjK-k63QoG|1(V>!q3_A^4C72VBs^AmRHU)mab<4>N9VIS z4a0_qy&nu$qhno`eBqnFnK+7MG-1Touax5K?2Ol*JeKdhY3YZN2M-?#q}hAAVdU+% z-{G6S>9Zu^fLniWHlkMz`Cu0pm#o*@xmEnsr&ct*=chlqW|b@6efM2H``ORT?dZkD zML;cD-gxs(A}xuuN~sw(BHF~1)2T*B;_e#9QFN?D&Te<09|p>@nDffCzSkvB)vu@y zL`9Iq5jM@j!56?J0YY9k9mnHIl3J&Oh5G===}>e|z%_qKBG2E|%^le>VYOONb++Z0q!>z?wv|o37pY#B3G8SBK1~;a zV^Y4nf*^kkhjO`ClEewS{Z91HeLs(Vg!K^39NDs}7y_5p7)g^!g6qy0!`Kh>ktjO8 z_TzWtt8eDXn~o?tQN;z1Vo7U0xD%~y!@=Wd+m<9vD2tM=@8o+*6B*xy5k#(2Vq$9F z;37dVI`4UqowG?+vS-LMj0uOdv1B^oEL#T%n0$ZVZQWu9BaXCGR9B-K>1|JAS{7Nz zHuNHKjXKRTUC=wJZa-VRjdhN%ym&tV*8`kLD@i0*V3EbM@s`$fvV)Qz`HX^`X4cL- zdM6kJZynDMkLZUrMR6i4YGN(X^iy2@lrbm>)fhA0+pXi}VnJ(y7E{MFA3Z*m%Hl-9hld7brgIg^(@`{*5h^6snLHG77BATM&7wj~YrPOoIc zI`lpDvF7aJ9P1rT(=ZGJX_j(#+TolARCmBpMfWDI$&=DkN0iOea_GOY9Lc6*A{lW`5lpC-D0{RzzRCvfINlDH<12dqtq$C8CQqs`wy znGId`1Xn#lC#5XZlom#YpWrKEtZ*S=T0VO-18)w;14){4I-RH%f%Z2H;Th^N!#KOt zPE8#+DRRLTg-n}46Q@WwWdCT#}kW^pf;hSrs=c1l4j?-9+EAc3Q z7k9BJIo8K{+@PHzQz@Hl%`#b#>x`p0v3EyQBu1Xc#RYGzUMJN8$V!vdya1ox)yG_7 zyqTld$AEy;VVvQ@e7YNZ>Pk{VTnMG?hfcK2iNcSbc(|9CbIN=LtAABqy#5fFp4E-Q6 zIblv#WV!g zf~b4?kSF`*d8K)OzvM2iDfdTzF3vWL#!}afNSPGG@%^FuYK)AXXj=gQ?mgt0WSVt- zCvG0^@Ltb9-$~FvjKj>8kf`yIaU3{57XVJAg_qm3Ew^|3SC%XQ(LF%q6_d=_W=)o* zvqb4|JcY4HGXHtwIA(u5(e*v&XB#%FCC^@5QP&OEZAO`;l*ua`gK(*TdC%-5l1JA+>kC6I#I-l z!h4x{m-fJ--($zG^1wv&ZAN>1K%YL~wE9*K)fYmf`w)IM!g^3~gb9fTT~M9$N>QK0 zFtI&9BZ(8*uAwLk;#A&$-$`0_+#kscD5{dt4YMS3zZWj{X1k%TYti?XHD0x>)*~oS zndB_v3I(*P=j3YP9R~z!5_SURh*Cq+EzK8+cP<0KH(ZD_#^R%?`1)U_-k(mdn&>6(Y@2fUU&WW88o zt>doV^TJ*8Xt-p5oi5}d2)e#BFM~DMQ&n>68)MjPHv+(JCE7hsqe{OR!+ww)>xM76^V|p0X13IHA#}N zPivOh@{=BWAdM`&fx6c?*RokvoS&`HO36Xi3a#mMYFMv-maJFHxuQ#wWOhcqS^*ks z*&j|gJEGkYYXdP$nZ-0cn=k0+69CGxpPk*FW;dA1^(Tdx*m zSxVoFoGQzIQZ_5$yAHkJ43i}0^5P5yJbQ5^GO}gGa#3-$JMp5<_)K}vKXA(Nvb!bg zC80PgGtyCFh7MiLU`Jy8$>is$(we@{zVFdm%Lrgfj|hxsvGqncJ7TZ?G`aZ;6w8Pt z*F=%x{b%qO|Kh;KR`ZMg!Hh3`#qj69Uw*c2?^!Q@6u;^pD~RYBy7%epukf--7`8u~ zVeE;NEP9oiSi)LH1;fDca1^FND$DBnRL?vHr6l6Vc^_P95o0Z1Ckx{dW6b=yX&q55 zDn=XZ`Dw~x?TMlhiB!zUbw;WZdOPrO_kx#)EB1Fgq9_h|WtOoY#2uDr#Idj+HpP0r zTzfZv&=TZpam>T&k~B{E$=k1T)!gB{#i@IorAWTyU^ULjLN5S>hH;Q(S|l)`w(A(% zf%EN|6j)xmr&K4wrY(nq?>*ae9S&j-4)QoBQi@HwoS{Ci&iVn27emW5+qKA2(RfR5 zdQPgQ(JfIL;l_fd8$fr`nGEtw>LkLug#GS+0ms87&fP=Nr`Ix8!JI&x+~d*0!6 zAI4CWqDGiNk6tZco5XBL3nvkb?@Lx+LdgEI9z89c> zb(W(WMQdBM(zH!OTenopO1Aq7+NPxq(wrnsxEUG}b<5gqD6*0$l9tU`OXLksWyFbO zfJIu%LDmnba0z(tIo1uEwWthq7&UbLFdGf3Qf|Th{s?$7-I2r&uM-B+`G|-jO_dcC zmF1_dj-={{x1v_qZk9ZMIn282SLdgHQw#m-uQ-ws#rTTpA&N9fJmq>Z1ID%1EEbD! z_%jDbZZ|8+BA;Jo=LJL($I;x*&lPSse4|Lf*Ljfz6NJoW`(b3YtT@}OW#Qqbq>hNY zotQfgr<$rN#4&bg@w9ZVqx1!_R*cT@VfRd;aGYn6mpoct5|0rd9-k8taTafXSg2B7 z%3xrb4yI|zlVurbFjz)6GGc@kU@RBWmME|S%2hqmDNnAAe=f)6bl< zSXEf#>D!)aRgor%m<5akV%BwkCt#rEf+=}fX+1kbtJQ)yis*-dB#~LM_nyUai3*G9 zGLli;)p*NIe)TtZyu>Syw~iu{<(+q)SVg2-u$5YAvLqvqQxY9h=r~xnLxlTUMh;5D zPb&ESuUhuI2duXrqqPvv#$myJ_n5ZX2s7nxlDihqj+7v+m?KF7V8$6M8_YDFWkE~7 z;4r zv8QW=88I<*SE^#6*2FrQEA&3Jgo~_EfM8uo^TjWe6V}Y%SN-wQqCgF?QYM5i!-+Cm1Kua zbKz+=9IDN!YMu-SQa$*2rui!1$GkFMoT`B_@C=GPV-;TNyWN3d7&+Un*{;`fWcpNv zP8Y%Cnybo!vdCzE+K#>(UNKmRaV3hQAn=#b#W;%bLfnKR4_j0vm)ix0;W^iS$7mL8 zSqCST6(((@Xl=*)$B)JJ71#%j?YKy`to@Qa&0b+JhcLwiJ{q12#07&voKT|~B~&#_ zxrmlHJ(Vu<|FRT*#Xp+!KU`{l}FaJ*Y@69k?FWp){_BiiI z!lKStL*I3H=h@$!INUV6_}U$pPq(rwIn|tY9m#n?mSywjC+;?J&y`_OIfSaTtjbsN z;lNmfvyNkXWN14!=UdVwq3v4wt|zZ9Xz4jpQ{*|O8dK><~(meW{M zQi%L(+(RON%m^7F#2khbr@H2NI8ZK1(hyCrQIZDi#eJu=605P&Xf1Nl36E)vAx%=2 z)q=r}fz2RxX=5$M8oIVaN18G#=C0Ct`78%N&S!)-vKVaJ_P**3qtzsg_q>zwPaMZH z6DCWits*v{w=~TwbJuHHzB^*c^6)U`|1)U zxom~Yc`bj)<=GkIX!z*n1y}wS7kS1`uytSAf52xqZ}GF=_+|z-3Rl59+M%OfHM}@n zbF|`^X?vN!nejdqG|w}lIHntWu_@!JsuIsD`Bq-G%x&F}C8^Bm%s5k$1~t$QLS9SL zgfh;5IUqam1m?t^s@s{&=gR*K)%5Y9DqUE9zL|~XDUhjMMjpMxX zXmy`7D|Xq4-QgI1)QY<4D2t3VS)rBuy;6!Sw#2>MXZQlf!2}o8g0AmryFSDd`I!Mc%}b|$hj6z)lBEgDz##D9fu7QI+g2bTX`0T? zwm6R1Zq{UBDR`>exgu^_895YLMi*k5k|drlmYLZQMFGD!gv_>k;JC4N23tp3vs_eC z`Gh}{#IGMI@|@+e;$gFK&6UK7FuB9z59vZWuM6Of)F(Vi9`NY=0`EPy zyFFdh)0z%H1duSE+xm_lI377KH!O;ZWmb_!31wPvQEhpB{fNJQ`(^IB{k`)jO+pTv zB~NqE5@)WoB8lQ~*TOLNcn?E=C#e+9%56B&nJMP&0=G#*rMlWszZw4X!DR?Hk5kb3?&-B|`aSNI*CoPoF?f zj-#P=USi2d6XaH)8Kiy>tznv1#96_M=7y{Kj@}RSY6zA^OWi95=O~kZn8Wczo~3No zOHomnX@p=tp;w*83T-RAg(#N8vB)z{bralYF8sWz8N{+$E?6!~hEe2RE`*a#iUsQ= ztE?wVY{RBy97OqI0^;yzVmWn~MNV+|=x~~sgk9HjJk@O0OU}1z zPTjyaI_UB}ofB2gLYJg}Dy7spCmO~`E{BN?;uRbap#OvDoGL2k=iC@G2TUpy{Rl%} zkrx8g?ipxkSn$8%mx8|Y{N*1W`A2?!N|cDqYJLY*s2r7yVUDMxEZG{v?y6>aCS2r) zZ!dWG+675263R47IlJ7T<4AJB!sn323GZ&-Akvz)>UmM$upf?pjNV|vo@I(un!rU_ zk|8r~`&F2>^JBN;2%m1EwE&QD0%5d1a&{2j>u; z?L}3R#VO4ogtI25B5<&cl22=_4aa8jnZ z5Y=QOd(UqPOyjnHX@cEa#wTf(N=70w`k1yPb2W^x9pX49iX)P^XTAB5o9nl*HpQ5~ zeU>#cgr7%d?q4J1VSu0YNaKV-*=fY!netpfspIB83u7(?WKhCqw zG|BMR@#1vN&9Iwwti~E1E-(1p*}J^8dYvpvxpueQ^#dw@(nKNm9xXFhai&$ID#j`q zS&U&RQwMT;q_MznW2(qt;7Gd(S` z?8|f-{N53ds|)fx;WRX8t7oZLUDqtLjGl~Lt9i0b$g+e}-Ol{fSwyWhqcO4=3tWV@ z>ls~4>?J{eHeX!QXwTR0J`~ZqHdy`2Lqm^OBaPK;Q~4h5b_X6@p0VAmxW3)ZV}eO1 zD}R4q1y6I=o4R4WTCfPqHsLUf)-aBvIiqZUII%w*XKk?e9vu!$Yc0o9Ggqn}>0XX) zH*dbD1@5GHnDBc_>3POK%htT7t{XO+73_bRK%khx!d1y{o$U|zGeHUpgkJEar1n~ z%|{1+-g)PBKD&Jv6=}M$$18_T9D^SiqC|pb{lF?)(3qC@40J4H-^qAs@Qi&(dX)zVQ9sTrtfp?CbyaVeK=49E2cTsESAe~F$_S?#3V6JW(|f1q_8+x41Ur+oVCEe3D6Y45P!@t`~-RU*kzk>=&`nrHi$pcOaW zo)1qicwAoa-r1*UmmOEf8=m(!?7D+2(mX8VidDL#j0%)iys$S6UbgRt-9ex@Sw=!K z!=eW(G@%Iut(2k-2)-=KsB}S-meN*#75QwDmRm}3@(p_@qk*$@O{OzWu4YwLEQ*q! z+I^ibU4M-)UVamsbj986Z6JxI6p_V6DPE@>P7T)F!?~veZ~E1T1>0&-$vkfKB>4qp znQ}dx_;B}vp&uEP1cy$uL9H}OLzY@v8-eokvShbEa<*NwT2}1#$2os2%hGUvYv0SX zCcE$i91&^Pl=_fR7CGCEa5rvu`;gEpij!$kC_r+N&g4aY4>59{rtN2^TG$%gFGB;Q zXKGcawrv`B0GyhZ<+5T?71VVTY_So2KX7}u=i!5MR;vZCcLS#v8aoaQ>c~fCPrQs- zs1k1jve3I(i#f3Yl-7*OaAj_PWHB^&Mir*JR%1*_*R9C&)2s*f-t+%s?7zb`%g*vn z__x;DdB5?bsyY?AI;qvIjD!LbC?SE#!8S9-#-9x~_IT`ToEZ})__IA@d#)KrY{14g z1I8c11_44sNQkIbPOa3rtGmL9Z{B&W_5HE--siLs*yp-h-L0xR{hs%K-TT?kdY=3K z-D{IE!m>OSl$pj4EkP{t1Htvn9&sf4kwO^2x4$hU3I$eMn%Yw4hPs5R5ZK5O)2wW` zaMy&%_Nd1lmRZ4gC+42XJ_!-UrXZCeagw0gBySnHX!pbFglRltQLf4Af~OZZIm%~D z!XX1c;qvez_e`#`EY}o&-Iz^SD&1hLW^EMfRzJL4I{=cx?^PaBNy?(&^l;AnsN}-6 zVbANJ-3f&M)-%#vSF{`Lv0CmD1kWN>Ta>j%sfr-T+j~3tZ|iuKluWz>>uKKMdj_r}*DCW3?Y35{-edU=x@C(kj7#$29WW*wo{2bm$%j(S-P9pv0(*+ftz;;TX1K6hg<6H!`C&bpU~>H#5t&#tL+QoFLMDJvJvlf)s7_NeNnf5>!QZGUuYyX9_P*v*?eS6!aF zlS&kY?Q+t2@i&`I|B%_)8gZ>S<=G-8lN;8XAzpaGrNAw7jdlsaN;-?J6|~u7ZHTI= zxUCPdjYW8n7ZK~#1*&p@wGf7DeCeT$p=`OccedWjvbdiyus$IzZj!8T;mH*f->`RG z(o_cN!GqToRbf~hYRXDcH7QA{DadZxe+9p6^j66;B>N%c5M8*a(xlnY%HTFb+x5)Fm`Dnk)Au3`T=~k06B$ z_Vk4V&nV*{;u6VWcFLk$F$qWP##`>Q?Hr|+Ue49IB0c2-YmIQndPhQ2$QI=o$1#ED zQ#LhK;l?a;z2JXBuuH5WZkJA%FO|z}tZA3K?X^}`HP$#uQFs#e_)p!Jxo?K@Z+jt;M*zf8v3mwu`L`A2^6e|`9O zKg2J*;}>|vt6o8)8-DRWzmu1~{3SGv=KuQp|CnM^@UnlGyo67D;*)&pGoR+wU;S!6 z_&XouSKs-oyz2~he zD}}&smjRar?ExTvDcB=YA!*|1RYhKLx>&HTGqkb<(nr^tOT)dMZj~l6o4f#BQEEw6 zOG2f4ZRYvEIt78nGDu^r&bTpqhTEGBRnw5$(j9Nw&&{b4x&o@P!cdnflh7kLmtv6@ zB~ciVwgfKOrU_$hA5(qaiAH<0?~eY{$p}w5ETpxTt*r@vQ42CEN;f}lS{8zCw6of_ zxn)^i^do`QI-{;@(l}~0vQ@7j=(^nVvF9C>>AZ$k8{Nz8+zeWw+oa*5s9b_{6cPFo zT~sWqhUI1pp){q)sg0t+pp+YNRaM=m|8`(~aCvC8Idgo4VMUV8Fz&w7^@Lee?%w( ztaOS4M_8-Tjd2}nt5mA$+DXBH`C{%C-GK{4*o${4bjgXHQ#PeT&uUFf#D&ogP1A5# zo;nqOM_H0>GV&~^Dl68D71=r?j3d&ad!TsIYxC=x{@ySx)lUjZRXH2JA5;k0P?jU4 z@JR>9D6hb1OI41}jU9gfSLh2o50Crqy_f&bpZn7!X~N0z2_N|N5AfWL=eU0F-3*2U zzT-Q;oj1PWtJ&S%N=39CY}d6D=0(ABwV@~quIyg`3#%;aZNcZ4uJ8dH0h5=? z@BtftXA8o>CrM)Vw0khhfoG> zRy0lGmbyVnQMpr8lE#F-8@n~usQ@%1bi9l7uH%U}V@-*zm#x^oCKzvVc=RNVax?SX zELojC&h~1;Rx)N7r|gd|aB;ZHrph^9&p0W6=WKLNWvUhn8T51a{u*fiu9PCL3cfgh z3b1U46VgHILN_Z2w2$vAX3f&&lnKR%0g5wDMpe~qa){57KBcN^Jf)mDLb@^5a=FA0 z!*(X`mbOw!C-XAKg}WMqP;IWC6~w|VthxoBLNZXP8$2o7!__NWlWCWX;Ti}xuJEOQ zM{OKy*YjK+U{Ske`)Dw9dxJugRT(#nJ1pxpo^t9WAtaHA+94PCzR%DbI30aa;EMp= zI1@>nCa&oEUN1>?(MZmvX4;dXF%}^+cJ^*iX?60G!w#_HBh=K$yctJMl)t+N6*8mR=rb92P9t|;={9b03U`Q?h88#kDL#*o*A zOJGHi#4!VzvcrT(1q_myusy!7vW#W3=7brAs@xO0-L9OnV34OMIVJEts!H{ohH0#s z<&t?3Fb+#Z+wD3IZpd(uBJ_sS#StrQC`E%78c!&Mbok3L114(BiJh@Ad0+gjsWG-B z*BXoWyk$=}D~;o*&k#!!ryuTrR14-@=j{OC?$4H$D~wK+5wOnkUMniZS)@yMNx5yg z1|b}k%2^EYeJ5Y*^vh|Quvo78!s&|lnf+U}JOlx*%Wd6^%hj5l?I~N+F^5N|XFtD% ztf-mISL|$07>x#8vleYOJXDon+DWowB25AqKmn|zpTW5T5OSZb#p!>d$3fmNwHXS8Ue+pkMK+G}C zltG%~2Merm{Z$-Q42CCUo3V=m`UARNPiw=kyz^Z|QOIBVtAB~rYQ+u&B}`h{O+d%DH<|K&f=oufk@|Kj6r^E;n&;o=^D^9TP1hX;rJ_`mpZ-ua*3$)Ehb zKSh<5U?CZ#Eg%_Y$EVIBe;FqnZceD1nwRXofV;-~+*urxw_MdA2oa&6EJ{}M6;)j^ z-kxBk?HzVa?X1srRa0aIVHBZ4kD_tBfgo^rIgz^y#5vwVCc%hpF~v6?qt?>8T5l-I ziltd`piii&TNhAgb97JU$~c2W7zCtg%zESGT2ct6v0;`=mUYA=e{fVIsoW8+Y%KY@ zz}OIBC6)2e8fr9t;824EZpoO4h|_w`v7I}`i2)%i8o5DR-`QE)F47oFQI?L%HAoqx z2}MzIayqB1>gUm{x`l%8d+zs@F7$9bayD=mZ{E#j&#mn38CI{GJL)!KJ&9u{$j{xw z&LufGka$swmYXa3mwEO97=MQ+a||9D$;L#;Rfd#;>14!YJmk7HnA zS!1kXx!5P$?2ruR3^mI`m{i7zGT20rO(X zfb`tE)8?;v%Gr2*k6LR-&r*s+But_qBY%J=+BtYtqhv-D1tf9AD1S;B$AkVvKzrns zQlio1#@WPA^BGy4<3}ywjha=p=80LsEkEL(@m2PME%wtrVi_VD!Ps}*T@d(f+*Iq3 zYu1#u?sp0w4p8c*6wayY5~fT4RuVI0wQ< zNkv$3=7mb~;Pkpt_&CY29Me z+!6AbC!gl`e)ofX=F^XG69xgEa;gqr3F5#YM96BjL2H*NJe`cWZY;uE^6bWA znN6r07k^D7ghgu?)19p+#L1E*JtaxjPNvxY3_`f2Po9lQ(j`Lb-o~!2q1H7`-4Le{ zU|E!FM*grLW7Ks+Rh5oa(ZXFks}RbO)GmfQ3}xCT)4HP9ji1(=oXy59Nz){D(O16D z)^tpk7pztrvbthJ&azptX>yQGiK2w05$!^;eSb(uA^76#De|UdFWh2pwAJSyx>1hn z>`GgaQ{XGF2U4{hbLy%lTdydKf*=Y|O@l(R<8Qf`9|CXUORq; zZ-0FfzvY2f8&>7I=b0#_C@VKY>Rg^_=uY&NuKR^=$AEAQUng}lXpAsD?zFKQ+U{HV zs^8}bVe$NiKkQ5Wtsnkd|LgwMeU6V#c;wTMFr7|$!Gka0p8M}%cXtO<8D9B{moplT zSgcoQG%tJkOL^e~4{&^N%p;%qEL%HU+<*7L{oHr|y*%*32iV@;=2M^e6pwxJQSN`> ze!ltJz6l*bW=m%?)D5%KxwGg79+Sz0;c!Ukxuw`VTOumBINs%8eN5R@?FDK{;)F}v z7YY4<#d^j3_|z>UJl~=JjCDe2Pq_kQG-%5}y6(>y!(zRnP&GU07W@7lp$HfZ5`U5; zZWl!*7R!mAb6U>ZC~kKHS9OhN75m`@rrx;M3wGU!wU#7_+b9=Tqy~{>oCb_jk7?== zc^c2=jAB9L3q}#7p#g7$@G^v?Wq=AYQ*crKXdx$4=uQ55#kKYfgQdw=5>g&PNq$HShByUz0drtD5S)}9g1R7<<+F3N81 zn-@8GRWKcm-8|5k_5omtqsVR1tJ;BV+Ec}HwZ<6tpz2r{QCoP0aBiuNi<{?V4_@l# z!pif=vb;52ICgG;B~cqLP7K=#gvpX1o{^+W2I-0*EZD54WSc2LSRiG7=7085h9Imc z@(ERylE$v9)~)Q&6N=Cexi-3lwwj_Yn0R9p?!ljB&RCPC32_i2D#b*Oh`bOj4I?!m zkU@8L=;PPB)MRbk!^c|dwAI?+c`ouMP9j3(GmXaVrCSVCLMQ?v5h6?r?KiFvUmabd z(G542w;V&Zk%Ts+Y9DmDV z2pGl#q!cbuHRx_ScMPeU2G2@rsVQ|0ShA)d^a7M|);cfnSvMKCRtK!sE{&opDh`hh z(bjNzf1e->Nz)WxdViF4$zriUYz*J{m2czeu(Xtu$4eXY_hz!@#d!B zvE`GL*1_4MFme}3X}BC;WINvKb{t)Ka!aHZq&;Zi+n(o~LVs0RvdMEiZkvAY{k8e%WP&R^{NlF~~9Gqrs@`}XQZF-1oZI!NL z5<;?EtyrzI9&+ON6D1e+b{zDkY1m{%uR`d)v@!i+u`a8?DLnlDsJT4*I;TY&>$&EqUQ=!(rgFyR*gVY{7Enx|{CvwZ^vJ z&$;Jzccus-I66M1XiqtnsaczhwaBP!MPm({P0G>HRixDH?mda;<<99RKq-MWA*aVz znQk2s204NBNn}i51AIJohf|L0Q_7-Y$D8(ONox(B=YRJp9P3R^E=msTV{%<^E!bz| z4f-I&vhBo7`;ZF5fazq^V=S}0pl(6-NfHqT!Sj%oT@vyt+px%2l(r&>efGzDJbCgg zxi0X7fQ#M^sY;$#0IanXrsSqRAlLaBxW1i#SMAaMyt*ckK9_@w3`toQuG=-f<zWJxHh&i|KA=zrDLtCT)u=FVR%oni zk3z~8!`fm};S8bBDvONK{riM)_GXvr>@w;a(|>@lY}R8=j_&^w`>=b@hq1uR)&

  • 7-2(F(1F?X{xob>^0R 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
    GBv7Ae$8dU@%or; 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�bCH$jIb)wB%j%PK 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

    si%d7MIfo$Y5AygwD#uS&N>_cAAa> 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

    yDmFGiOO|XBq*0*6u~riFgLol@ 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 z

    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

    ) -> Unit, + onError: (errorCode: String, errorMessage: String?, errorDetails: Any?) -> Unit, + ) { + geocoder.getFromLocation(latitude, longitude, maxResults, object : Geocoder.GeocodeListener { + override fun onGeocode(addresses: List) = processAddresses(addresses.filterNotNull()) + + override fun onError(errorMessage: String?) { + onError("getAddress-asyncerror", "failed to get address", errorMessage) + } + }) + } +} \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index 141ec6ba5..87bd1337b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,6 @@ buildscript { ext { - agp_version = '8.4.0' // same as `settings.ext.agp_version` in `/android/settings.gradle` + agp_version = '8.4.1' // same as `settings.ext.agp_version` in `/android/settings.gradle` glide_version = '4.16.0' // AppGallery Connect plugin versions: https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-sdk-changenotes-0000001058732550 huawei_agconnect_version = '1.9.1.300' diff --git a/android/settings.gradle b/android/settings.gradle index 1e195978e..293bc6423 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -8,9 +8,9 @@ pluginManagement { } settings.ext.flutterSdkPath = flutterSdkPath() - settings.ext.kotlin_version = '1.9.21' - settings.ext.ksp_version = "$kotlin_version-1.0.15" - settings.ext.agp_version = '8.4.0' + settings.ext.kotlin_version = '1.9.24' + settings.ext.ksp_version = "$kotlin_version-1.0.20" + settings.ext.agp_version = '8.4.1' includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") diff --git a/plugins/aves_platform_meta/android/build.gradle b/plugins/aves_platform_meta/android/build.gradle index 81a5f9038..0c38b3d1e 100644 --- a/plugins/aves_platform_meta/android/build.gradle +++ b/plugins/aves_platform_meta/android/build.gradle @@ -3,8 +3,8 @@ version '1.0-SNAPSHOT' buildscript { ext { - kotlin_version = '1.8.21' - agp_version = '8.3.1' + kotlin_version = '1.9.24' + agp_version = '8.4.1' } repositories { diff --git a/plugins/aves_screen_state/android/build.gradle b/plugins/aves_screen_state/android/build.gradle index 49286b6ab..941d165b2 100644 --- a/plugins/aves_screen_state/android/build.gradle +++ b/plugins/aves_screen_state/android/build.gradle @@ -3,8 +3,8 @@ version '1.0-SNAPSHOT' buildscript { ext { - kotlin_version = '1.9.22' - agp_version = '8.4.0' + kotlin_version = '1.9.24' + agp_version = '8.4.1' } repositories { From 171258ba2beb72a23709ef95e2e814f869d3b29f Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Wed, 22 May 2024 22:59:30 +0200 Subject: [PATCH 20/34] upgraded Flutter to stable v3.22.1 --- .flutter | 2 +- CHANGELOG.md | 2 +- plugins/aves_magnifier/pubspec.lock | 2 +- plugins/aves_magnifier/pubspec.yaml | 2 +- plugins/aves_map/pubspec.lock | 2 +- plugins/aves_map/pubspec.yaml | 2 +- plugins/aves_model/pubspec.lock | 2 +- plugins/aves_model/pubspec.yaml | 2 +- plugins/aves_platform_meta/pubspec.lock | 2 +- plugins/aves_platform_meta/pubspec.yaml | 2 +- plugins/aves_report/pubspec.lock | 2 +- plugins/aves_report/pubspec.yaml | 2 +- plugins/aves_report_console/pubspec.lock | 2 +- plugins/aves_report_console/pubspec.yaml | 2 +- plugins/aves_report_crashlytics/pubspec.lock | 18 +++++----- plugins/aves_report_crashlytics/pubspec.yaml | 2 +- plugins/aves_screen_state/pubspec.lock | 2 +- plugins/aves_screen_state/pubspec.yaml | 2 +- plugins/aves_services/pubspec.lock | 2 +- plugins/aves_services/pubspec.yaml | 2 +- plugins/aves_services_google/pubspec.lock | 2 +- plugins/aves_services_google/pubspec.yaml | 2 +- plugins/aves_services_huawei/pubspec.lock | 2 +- plugins/aves_services_huawei/pubspec.yaml | 2 +- plugins/aves_services_none/pubspec.lock | 2 +- plugins/aves_services_none/pubspec.yaml | 2 +- plugins/aves_ui/pubspec.lock | 2 +- plugins/aves_ui/pubspec.yaml | 2 +- plugins/aves_utils/pubspec.lock | 2 +- plugins/aves_utils/pubspec.yaml | 2 +- plugins/aves_video/pubspec.lock | 2 +- plugins/aves_video/pubspec.yaml | 2 +- plugins/aves_video_ffmpeg/pubspec.lock | 2 +- plugins/aves_video_ffmpeg/pubspec.yaml | 2 +- plugins/aves_video_ijk/pubspec.lock | 2 +- plugins/aves_video_ijk/pubspec.yaml | 2 +- plugins/aves_video_mpv/pubspec.lock | 10 +++--- plugins/aves_video_mpv/pubspec.yaml | 2 +- pubspec.lock | 36 ++++++++++---------- pubspec.yaml | 4 +-- shaders.sksl.json | 2 +- 41 files changed, 71 insertions(+), 71 deletions(-) diff --git a/.flutter b/.flutter index 5dcb86f68..a14f74ff3 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit 5dcb86f68f239346676ceb1ed1ea385bd215fba1 +Subproject commit a14f74ff3a1cbd521163c5f03d68113d50af93d3 diff --git a/CHANGELOG.md b/CHANGELOG.md index a41aac3eb..336ca9b9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to this project will be documented in this file. ### Changed -- upgraded Flutter to stable v3.22.0 +- upgraded Flutter to stable v3.22.1 ### Removed diff --git a/plugins/aves_magnifier/pubspec.lock b/plugins/aves_magnifier/pubspec.lock index 953264e76..d455dc440 100644 --- a/plugins/aves_magnifier/pubspec.lock +++ b/plugins/aves_magnifier/pubspec.lock @@ -99,5 +99,5 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=1.16.0" diff --git a/plugins/aves_magnifier/pubspec.yaml b/plugins/aves_magnifier/pubspec.yaml index 64659fe9f..b978ceb95 100644 --- a/plugins/aves_magnifier/pubspec.yaml +++ b/plugins/aves_magnifier/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_map/pubspec.lock b/plugins/aves_map/pubspec.lock index 798d09d32..ed26786c9 100644 --- a/plugins/aves_map/pubspec.lock +++ b/plugins/aves_map/pubspec.lock @@ -275,5 +275,5 @@ packages: source: hosted version: "2.0.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=3.10.0" diff --git a/plugins/aves_map/pubspec.yaml b/plugins/aves_map/pubspec.yaml index 906ea0919..02f8bf70c 100644 --- a/plugins/aves_map/pubspec.yaml +++ b/plugins/aves_map/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_model/pubspec.lock b/plugins/aves_model/pubspec.lock index da197cd08..11efc89f0 100644 --- a/plugins/aves_model/pubspec.lock +++ b/plugins/aves_model/pubspec.lock @@ -76,4 +76,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_model/pubspec.yaml b/plugins/aves_model/pubspec.yaml index 4b51a9508..f124ccc3e 100644 --- a/plugins/aves_model/pubspec.yaml +++ b/plugins/aves_model/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_platform_meta/pubspec.lock b/plugins/aves_platform_meta/pubspec.lock index 4025b66a5..7c5da4bb0 100644 --- a/plugins/aves_platform_meta/pubspec.lock +++ b/plugins/aves_platform_meta/pubspec.lock @@ -76,4 +76,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_platform_meta/pubspec.yaml b/plugins/aves_platform_meta/pubspec.yaml index 7a4dc0366..af8143563 100644 --- a/plugins/aves_platform_meta/pubspec.yaml +++ b/plugins/aves_platform_meta/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_report/pubspec.lock b/plugins/aves_report/pubspec.lock index cc94229e4..7b3ee2edf 100644 --- a/plugins/aves_report/pubspec.lock +++ b/plugins/aves_report/pubspec.lock @@ -84,4 +84,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_report/pubspec.yaml b/plugins/aves_report/pubspec.yaml index 8cfc83669..ef7a356d8 100644 --- a/plugins/aves_report/pubspec.yaml +++ b/plugins/aves_report/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_report_console/pubspec.lock b/plugins/aves_report_console/pubspec.lock index 34ed3f1ec..2e2d20d83 100644 --- a/plugins/aves_report_console/pubspec.lock +++ b/plugins/aves_report_console/pubspec.lock @@ -91,4 +91,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_report_console/pubspec.yaml b/plugins/aves_report_console/pubspec.yaml index 6fcbd29d5..ea25fa1e6 100644 --- a/plugins/aves_report_console/pubspec.yaml +++ b/plugins/aves_report_console/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_report_crashlytics/pubspec.lock b/plugins/aves_report_crashlytics/pubspec.lock index 9af18d598..a0255f47d 100644 --- a/plugins/aves_report_crashlytics/pubspec.lock +++ b/plugins/aves_report_crashlytics/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "2350805d7afefb0efe7acd325cb19d3ae8ba4039b906eade3807ffb69938a01f" + sha256: e4be6711f96d3d4eebe79728897d645b7a5585bbfdd6d534878d202c171266d7 url: "https://pub.dev" source: hosted - version: "1.3.33" + version: "1.3.34" async: dependency: transitive description: @@ -68,10 +68,10 @@ packages: dependency: "direct main" description: name: firebase_core - sha256: "372d94ced114b9c40cb85e18c50ac94a7e998c8eec630c50d7aec047847d27bf" + sha256: "4b5100e2dbc3fe72c2d4241a046d3f01457fe11293283a324f5c52575e3406f8" url: "https://pub.dev" source: hosted - version: "2.31.0" + version: "2.31.1" firebase_core_platform_interface: dependency: transitive description: @@ -92,18 +92,18 @@ packages: dependency: "direct main" description: name: firebase_crashlytics - sha256: "8954a6493e05f73c87da1b15bab4970a5b325f138e254a0e1c18b4f97554720c" + sha256: a67dd0c9fe65a3615c9239d189b0c6f4f2a76e17eb945c5a4b688dff8dd21f86 url: "https://pub.dev" source: hosted - version: "3.5.5" + version: "3.5.6" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "82f5e203cb0a83ccfce7d9b02de63c94e2f56fae96788df4b7446ca2cc81dac7" + sha256: fc31c00e24ef7b091da8dfd2e7c9dc205f8ca343f68825c15ac8d702e015aec9 url: "https://pub.dev" source: hosted - version: "3.6.33" + version: "3.6.34" flutter: dependency: "direct main" description: flutter @@ -277,5 +277,5 @@ packages: source: hosted version: "0.5.1" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/plugins/aves_report_crashlytics/pubspec.yaml b/plugins/aves_report_crashlytics/pubspec.yaml index 59165b965..c83afb1c8 100644 --- a/plugins/aves_report_crashlytics/pubspec.yaml +++ b/plugins/aves_report_crashlytics/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_screen_state/pubspec.lock b/plugins/aves_screen_state/pubspec.lock index 4025b66a5..7c5da4bb0 100644 --- a/plugins/aves_screen_state/pubspec.lock +++ b/plugins/aves_screen_state/pubspec.lock @@ -76,4 +76,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_screen_state/pubspec.yaml b/plugins/aves_screen_state/pubspec.yaml index 54045ce3d..38ce2fb3e 100644 --- a/plugins/aves_screen_state/pubspec.yaml +++ b/plugins/aves_screen_state/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_services/pubspec.lock b/plugins/aves_services/pubspec.lock index a67434f32..3ae56b80e 100644 --- a/plugins/aves_services/pubspec.lock +++ b/plugins/aves_services/pubspec.lock @@ -282,5 +282,5 @@ packages: source: hosted version: "2.0.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=3.10.0" diff --git a/plugins/aves_services/pubspec.yaml b/plugins/aves_services/pubspec.yaml index 1b9ca7a15..84791a1b3 100644 --- a/plugins/aves_services/pubspec.yaml +++ b/plugins/aves_services/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_services_google/pubspec.lock b/plugins/aves_services_google/pubspec.lock index ba2772899..3fafa19d7 100644 --- a/plugins/aves_services_google/pubspec.lock +++ b/plugins/aves_services_google/pubspec.lock @@ -485,5 +485,5 @@ packages: source: hosted version: "2.0.0" sdks: - dart: ">=3.4.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=3.19.0" diff --git a/plugins/aves_services_google/pubspec.yaml b/plugins/aves_services_google/pubspec.yaml index 110bdadf5..e502b7205 100644 --- a/plugins/aves_services_google/pubspec.yaml +++ b/plugins/aves_services_google/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_services_huawei/pubspec.lock b/plugins/aves_services_huawei/pubspec.lock index f38e4481b..64dc82a94 100644 --- a/plugins/aves_services_huawei/pubspec.lock +++ b/plugins/aves_services_huawei/pubspec.lock @@ -329,5 +329,5 @@ packages: source: hosted version: "2.0.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=3.10.0" diff --git a/plugins/aves_services_huawei/pubspec.yaml b/plugins/aves_services_huawei/pubspec.yaml index 71e79a693..e0a49987d 100644 --- a/plugins/aves_services_huawei/pubspec.yaml +++ b/plugins/aves_services_huawei/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_services_none/pubspec.lock b/plugins/aves_services_none/pubspec.lock index 8d96a5e2f..dfb350d8f 100644 --- a/plugins/aves_services_none/pubspec.lock +++ b/plugins/aves_services_none/pubspec.lock @@ -289,5 +289,5 @@ packages: source: hosted version: "2.0.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=3.10.0" diff --git a/plugins/aves_services_none/pubspec.yaml b/plugins/aves_services_none/pubspec.yaml index f10450e5d..fef47c80c 100644 --- a/plugins/aves_services_none/pubspec.yaml +++ b/plugins/aves_services_none/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_ui/pubspec.lock b/plugins/aves_ui/pubspec.lock index 0ae7cafba..0ededd179 100644 --- a/plugins/aves_ui/pubspec.lock +++ b/plugins/aves_ui/pubspec.lock @@ -68,4 +68,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_ui/pubspec.yaml b/plugins/aves_ui/pubspec.yaml index dae9913f5..88c5d1f0d 100644 --- a/plugins/aves_ui/pubspec.yaml +++ b/plugins/aves_ui/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_utils/pubspec.lock b/plugins/aves_utils/pubspec.lock index 9327463ee..94185daaa 100644 --- a/plugins/aves_utils/pubspec.lock +++ b/plugins/aves_utils/pubspec.lock @@ -68,4 +68,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_utils/pubspec.yaml b/plugins/aves_utils/pubspec.yaml index 0fa7be200..5dc41934b 100644 --- a/plugins/aves_utils/pubspec.yaml +++ b/plugins/aves_utils/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_video/pubspec.lock b/plugins/aves_video/pubspec.lock index 14eaf7ba5..abc78110d 100644 --- a/plugins/aves_video/pubspec.lock +++ b/plugins/aves_video/pubspec.lock @@ -90,4 +90,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_video/pubspec.yaml b/plugins/aves_video/pubspec.yaml index cc53ffd1c..7f92cb54d 100644 --- a/plugins/aves_video/pubspec.yaml +++ b/plugins/aves_video/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_video_ffmpeg/pubspec.lock b/plugins/aves_video_ffmpeg/pubspec.lock index ba3909c36..2a982a9a0 100644 --- a/plugins/aves_video_ffmpeg/pubspec.lock +++ b/plugins/aves_video_ffmpeg/pubspec.lock @@ -122,5 +122,5 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=2.0.0" diff --git a/plugins/aves_video_ffmpeg/pubspec.yaml b/plugins/aves_video_ffmpeg/pubspec.yaml index 2407564b5..27bc082eb 100644 --- a/plugins/aves_video_ffmpeg/pubspec.yaml +++ b/plugins/aves_video_ffmpeg/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_video_ijk/pubspec.lock b/plugins/aves_video_ijk/pubspec.lock index efe393df7..061daf26c 100644 --- a/plugins/aves_video_ijk/pubspec.lock +++ b/plugins/aves_video_ijk/pubspec.lock @@ -106,4 +106,4 @@ packages: source: hosted version: "2.1.4" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" diff --git a/plugins/aves_video_ijk/pubspec.yaml b/plugins/aves_video_ijk/pubspec.yaml index 97a21ac9e..58ada8818 100644 --- a/plugins/aves_video_ijk/pubspec.yaml +++ b/plugins/aves_video_ijk/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/plugins/aves_video_mpv/pubspec.lock b/plugins/aves_video_mpv/pubspec.lock index 256be069e..1817470d9 100644 --- a/plugins/aves_video_mpv/pubspec.lock +++ b/plugins/aves_video_mpv/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: archive - sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 + sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b" url: "https://pub.dev" source: hosted - version: "3.5.1" + version: "3.6.0" args: dependency: transitive description: @@ -148,10 +148,10 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" js: dependency: transitive description: @@ -446,5 +446,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.4.0 <4.0.0" + dart: ">=3.4.1 <4.0.0" flutter: ">=3.19.0" diff --git a/plugins/aves_video_mpv/pubspec.yaml b/plugins/aves_video_mpv/pubspec.yaml index 8321e92ab..246b48e32 100644 --- a/plugins/aves_video_mpv/pubspec.yaml +++ b/plugins/aves_video_mpv/pubspec.yaml @@ -3,7 +3,7 @@ version: 0.0.1 publish_to: none environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.4.1 <4.0.0' dependencies: flutter: diff --git a/pubspec.lock b/pubspec.lock index 974f087ef..01344843c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "2350805d7afefb0efe7acd325cb19d3ae8ba4039b906eade3807ffb69938a01f" + sha256: e4be6711f96d3d4eebe79728897d645b7a5585bbfdd6d534878d202c171266d7 url: "https://pub.dev" source: hosted - version: "1.3.33" + version: "1.3.34" analyzer: dependency: transitive description: @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: archive - sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 + sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b" url: "https://pub.dev" source: hosted - version: "3.5.1" + version: "3.6.0" args: dependency: transitive description: @@ -388,10 +388,10 @@ packages: dependency: transitive description: name: firebase_core - sha256: "372d94ced114b9c40cb85e18c50ac94a7e998c8eec630c50d7aec047847d27bf" + sha256: "4b5100e2dbc3fe72c2d4241a046d3f01457fe11293283a324f5c52575e3406f8" url: "https://pub.dev" source: hosted - version: "2.31.0" + version: "2.31.1" firebase_core_platform_interface: dependency: transitive description: @@ -412,18 +412,18 @@ packages: dependency: transitive description: name: firebase_crashlytics - sha256: "8954a6493e05f73c87da1b15bab4970a5b325f138e254a0e1c18b4f97554720c" + sha256: a67dd0c9fe65a3615c9239d189b0c6f4f2a76e17eb945c5a4b688dff8dd21f86 url: "https://pub.dev" source: hosted - version: "3.5.5" + version: "3.5.6" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "82f5e203cb0a83ccfce7d9b02de63c94e2f56fae96788df4b7446ca2cc81dac7" + sha256: fc31c00e24ef7b091da8dfd2e7c9dc205f8ca343f68825c15ac8d702e015aec9 url: "https://pub.dev" source: hosted - version: "3.6.33" + version: "3.6.34" fixnum: dependency: transitive description: @@ -707,10 +707,10 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" intl: dependency: "direct main" description: @@ -811,10 +811,10 @@ packages: dependency: transitive description: name: local_auth_darwin - sha256: "959145a4cf6f0de745b9ec9ac60101270eb4c5b8b7c2a0470907014adc1c618d" + sha256: e424ebf90d5233452be146d4a7da4bcd7a70278b67791592f3fde1bda8eef9e2 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.3.1" local_auth_platform_interface: dependency: transitive description: @@ -1603,10 +1603,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "360a6ed2027f18b73c8d98e159dda67a61b7f2e0f6ec26e86c3ada33b0621775" + sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_ios: dependency: transitive description: @@ -1792,5 +1792,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.4.0 <4.0.0" - flutter: ">=3.22.0" + dart: ">=3.4.1 <4.0.0" + flutter: ">=3.22.1" diff --git a/pubspec.yaml b/pubspec.yaml index db718ca56..6cabedf3b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,8 +13,8 @@ publish_to: none environment: # this project bundles Flutter SDK via `flutter_wrapper` # cf https://github.com/passsy/flutter_wrapper - flutter: 3.22.0 - sdk: '>=3.3.0 <4.0.0' + flutter: 3.22.1 + sdk: '>=3.4.1 <4.0.0' # use `scripts/apply_flavor_{flavor}.sh` to set the right dependencies for the flavor dependencies: diff --git a/shaders.sksl.json b/shaders.sksl.json index c68a68d01..bac78ecef 100644 --- a/shaders.sksl.json +++ b/shaders.sksl.json @@ -1 +1 @@ -{"platform":"android","name":"SM G970N","engineRevision":"f6344b75dcf861d8bf1f1322780b8811f982e31a","data":{"HWJAAAAAAAUAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1NKAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBwb3NpdGlvbiA9IHBvc2l0aW9uLnh5OwoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJdmNvdmVyYWdlX1MwID0gY292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAA3AEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACbAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAABsdAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMjsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQ2lyY3VsYXJSUmVjdF9TMihvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0X1MyOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAUx0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMi5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMi5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAAAEAAAABSGQUAGC2HJ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAAAAxBsAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAABQAAAAAAAACAAAAADYCAAIAAAAAWBRAAAABAAAAANAEIQCAAAAAAAAAAAAAUABQAAAAEAAAAAAAEEBQAAAA":"DAAAAExTS1N5AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzRfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIHBvc2l0aW9uLnh5MTsKCX0KfQoAAAAAAAAAzAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERldmljZVNwYWNlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX2RzdF9pbihEZXZpY2VTcGFjZV9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAADIAAAAIH5K3LIKAAAAAAMAAAAAIAAAAAAGIZBQP3FQWAUAABQAAAAAAAAAAAAADUAAAAAAAEAAAAAIDEAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACoBAAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMSkgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAzAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAGsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCkucnJycjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gY2xhbXAoc3Vic2V0Q29vcmQueCwgdWNsYW1wX1MxX2MwLngsIHVjbGFtcF9TMV9jMC56KTsKCWNsYW1wZWRDb29yZC55ID0gc3Vic2V0Q29vcmQueTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAB4FJEIEKOAAAAAMAAAAAEAHQAACAAAAAAQCGPSVARQRJAAAAABQAAAAAAAAAAA4JAPAAACAAAAAAAAAB2AAAAAAACAAAAAEBSAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAA0iAAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwpjb25zdCBpbnQga0ZpbGxCV19TMl9jMCA9IDA7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxCV19TMl9jMCA9IDI7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxBQV9TMl9jMCA9IDM7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MyX2MwOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyX2MxOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMl9jMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgUmVjdF9TMl9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzJfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMl9jMC56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzJfYzAueHksIHNrX0ZyYWdDb29yZC54eSkpKSk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IHNhdHVyYXRlKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MyX2MwKSk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMl9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzJfYzApIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoaGFsZjQoY292ZXJhZ2UpKTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyX2MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMl9jMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMl9jMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyX2MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMl9jMChfc3JjKSwgQ2lyY3VsYXJSUmVjdF9TMl9jMShfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQmxlbmRfUzIob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRfUzI7Cgl9Cn0KAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"DAAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADVAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQyIHRleENvb3JkOwoJdGV4Q29vcmQgPSB2bG9jYWxDb29yZF9TMDsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBvdXRwdXRDb2xvcl9TMCkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAeBQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAUAAAAAAAIIDA":"DAAAAExTS1PrAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzdfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc183X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAQAAAGgKAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMF9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MxOwp1bmlmb3JtIGhhbGYgdXJhbmdlX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSAoaGFsZjQoMS4wKSAtIG91dHB1dF9TMSkgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAB4QA4AAAEAAAAAABIADAAAAAIAAAAAAAIID":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAOAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAMAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIwbAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAAJQAAAAAAAACAAAAADYCAAIAAAAACABKAYABAAAAAFAEEQCEAAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAA":"DAAAAExTS1MIAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwppbiBmbG9hdDIgcG9zaXRpb247CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzJfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAC0HQAAZmxvYXQ0IGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwOwpmbG9hdDQgZnJhZ0NvbG9yX1MxX2MwOwpmbG9hdCB1X2FscGhhX1MxX2MwOwpmbG9hdCB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfYmx1cl9TMV9jMDsKZmxvYXQgdV9yYWRpdXNfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzI7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzJfYzBfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMiwgdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzApLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MyX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MyX2MwX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGV2aWNlU3BhY2VfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMl9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfZHN0X2luKERldmljZVNwYWNlX1MyX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAEQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAB7AgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAAAACAAAAAVQEAAQAAAAAQCDAAQQGAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAADAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IE1hdHJpeEVmZmVjdF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAATQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAAAAAAA","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"DAAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAADAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBoYWxmMyB2aW5TaGFkb3dQYXJhbXNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUlJlY3RTaGFkb3cKCWhhbGYzIHNoYWRvd1BhcmFtczsKCXNoYWRvd1BhcmFtcyA9IHZpblNoYWRvd1BhcmFtc19TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZCA9IGxlbmd0aChzaGFkb3dQYXJhbXMueHkpOwoJZmxvYXQyIHV2ID0gZmxvYXQyKHNoYWRvd1BhcmFtcy56ICogKDEuMCAtIGQpLCAwLjUpOwoJaGFsZiBmYWN0b3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS4wMDByLmE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGZhY3Rvcik7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADgAAAGluU2hhZG93UGFyYW1zAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAA8AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXJFeHRlcm5hbE9FUyB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAAGFM37JKEAAAAAMAAAAAIAAAAAAAIBDAN25XWQUAAAAAAYAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAAJAeAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKY29uc3QgaW50IGtGaWxsQUFfUzJfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzJfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzJfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVjaXJjbGVfUzJfYzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjbGVfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMl9jMC54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MyX2MwLncpIC0gMS4wKSAqIHVjaXJjbGVfUzJfYzAueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzJfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMl9jMC53KSkgKiB1Y2lyY2xlX1MyX2MwLnopOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGludCgxKSA9PSBrRmlsbEFBX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCA/IHNhdHVyYXRlKGQpIDogaGFsZihkID4gMC41KSkpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoX3NyYywgQ2lyY2xlX1MyX2MwKF9zcmMpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAABgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAAAAAA=","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NoAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc180X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMCkgKiBwb3NpdGlvbi54eTE7Cgl9Cn0KAAAAADkDAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAGAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAAAAAA=","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAADWAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAEAQCAAAAAVREEAQAAAAAQCDAAQQGAABAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAHwQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gTWF0cml4RWZmZWN0X1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","CMRQCIAABBYAAAEIXBAAACDQMAABRAFAAAAAAAAAAAAAAAEABYAAAAEAAAAAAAEEBQAAAAA":"DAAAAExTS1MyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0MiBpbkVsbGlwc2VPZmZzZXQ7CmluIGZsb2F0NCBpbkVsbGlwc2VSYWRpaTsKb3V0IGZsb2F0MiB2RWxsaXBzZU9mZnNldHNfUzA7Cm91dCBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCXZFbGxpcHNlT2Zmc2V0c19TMCA9IGluRWxsaXBzZU9mZnNldDsKCXZFbGxpcHNlUmFkaWlfUzAgPSBpbkVsbGlwc2VSYWRpaTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAHIDAABpbiBmbG9hdDIgdkVsbGlwc2VPZmZzZXRzX1MwOwppbiBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiBvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHk7CglvZmZzZXQgKj0gdkVsbGlwc2VSYWRpaV9TMC54eTsKCWZsb2F0IHRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZmxvYXQyIGdyYWQgPSAyLjAqb2Zmc2V0KnZFbGxpcHNlUmFkaWlfUzAueHk7CglmbG9hdCBncmFkX2RvdCA9IGRvdChncmFkLCBncmFkKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjE3NTVlLTM4KTsKCWZsb2F0IGludmxlbiA9IGludmVyc2VzcXJ0KGdyYWRfZG90KTsKCWZsb2F0IGVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNS10ZXN0Kmludmxlbik7CglvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHkqdkVsbGlwc2VSYWRpaV9TMC56dzsKCXRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZ3JhZCA9IDIuMCpvZmZzZXQqdkVsbGlwc2VSYWRpaV9TMC56dzsKCWdyYWRfZG90ID0gZG90KGdyYWQsIGdyYWQpOwoJaW52bGVuID0gaW52ZXJzZXNxcnQoZ3JhZF9kb3QpOwoJZWRnZUFscGhhICo9IHNhdHVyYXRlKDAuNSt0ZXN0Kmludmxlbik7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoZWRnZUFscGhhKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpbkVsbGlwc2VPZmZzZXQADgAAAGluRWxsaXBzZVJhZGlpAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAACAAAEAAAABSGQUAGC2HJ2AAAAACAAAEAAAABLRAABAAAAABAEGABBAMAAQAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueCwgdWNsYW1wX1MxX2MwX2MwX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclggPSBoYWxmKHN1YnNldENvb3JkLnggLSBjbGFtcGVkQ29vcmQueCk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclgpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAAANAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAB5AAAAAAYFRP5FIUAQAADQAAAABAAAAAAABAEMBTLG62KRAAAAAHAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAABJBQAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMykgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvdmVyYWdlX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOAAAAcmFkaWlfc2VsZWN0b3IAABkAAABjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzAAAAFQAAAGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZQAAAAcAAAByYWRpaV94AAcAAAByYWRpaV95AAQAAABza2V3GQAAAHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUAAAAFAAAAY29sb3IAAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABHAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABnZW9tU3Vic2V0AAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABFAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEUDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzAueHksIHVjbGFtcF9TMV9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA4IAEAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAsB0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0IGR5MCA9IHVpbm5lclJlY3RfUzIuVCAtIHNrX0ZyYWdDb29yZC55OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChmbG9hdDIoZHh5MS54LCBtYXgoZHkwLCBkeHkxLnkpKSwgMC4wKTsKCWhhbGYgbGVmdEFscGhhID0gaGFsZihzYXR1cmF0ZShza19GcmFnQ29vcmQueCAtIHVpbm5lclJlY3RfUzIuTCkpOwoJaGFsZiBhbHBoYSA9IGxlZnRBbHBoYSAqIGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAEAAAABQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAEBUEFLMJAIAAAQCI6KVAYAAAAAAAAAAAQAAAADEA2JT4HAIAAAADIIODXOJIBAAAGAAAAACAKAC5XEQEAAAAAEPF2SMAAAAAAAAIAAAADFUUGB3XUUAQAADAAAAAAABARO3SJCAAAAACGSZJWCAAAAAAAIAAAABSFBUEFLMJAIAAAAAAAAAEACUMVSTUFAEAAAAAIAAAABEFBSHSVIGAAAAAAAAAAACABKBAABAAAAAFAEEQCEAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAHQkAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgMWUtMDUsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglyZXR1cm4gaGFsZjQob3V0Q29sb3IpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIF9jb29yZHMpLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MxKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzEpICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IERpdGhlcl9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzZfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IGNvbG9yID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChfdG1wXzZfaW5Db2xvcik7CgloYWxmIHZhbHVlID0gTWF0cml4RWZmZWN0X1MxX2MxKF90bXBfNl9pbkNvbG9yLCBza19GcmFnQ29vcmQueHkpLncgLSAwLjU7CglyZXR1cm4gaGFsZjQoaGFsZjQoY2xhbXAoY29sb3IueHl6ICsgdmFsdWUgKiB1cmFuZ2VfUzEsIDAuMCwgY29sb3IudyksIGNvbG9yLncpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpdGhlcl9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAqQEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAIAEAAAABSGQUAGC2HJ2AAAAAAAIAEAAAABLBCABAAAAABAEGABBAMAAACAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAueSwgdWNsYW1wX1MxX2MwX2MwX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclkgPSBoYWxmKHN1YnNldENvb3JkLnkgLSBjbGFtcGVkQ29vcmQueSk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclkpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","DASAAAAAAAAAAAEAAFQAAIGAAEAOB77776PUEAIBAAAAAABAAAAAAABAMQAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAADYAQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB1Q29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApOwoJfQoJb3V0cHV0Q29sb3JfUzAgPSBvdXRwdXRDb2xvcl9TMCAqIHRleENvbG9yOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAA6QAAAABYCTIUIE4AIAAAYAAAAAQAAAAAEART4FIEMEKMAAAAAMAAAAAAAAAAAABIADAAAAAIAAAAAAAIIDAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAPQUAAGNvbnN0IGludCBrRmlsbEJXX1MxX2MwID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxX2MwID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxX2MwID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBSZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBjb3ZlcmFnZTsKCWlmIChpbnQoMSkgPT0ga0ZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzFfYzApIAoJewoJCWNvdmVyYWdlID0gaGFsZihhbGwoZ3JlYXRlclRoYW4oZmxvYXQ0KHNrX0ZyYWdDb29yZC54eSwgdXJlY3RVbmlmb3JtX1MxX2MwLnp3KSwgZmxvYXQ0KHVyZWN0VW5pZm9ybV9TMV9jMC54eSwgc2tfRnJhZ0Nvb3JkLnh5KSkpKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gc2F0dXJhdGUoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzFfYzApKTsKCQloYWxmMiBkaXN0czIgPSAoZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3KSAtIDEuMDsKCQljb3ZlcmFnZSA9IGRpc3RzMi54ICogZGlzdHMyLnk7Cgl9CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCkgCgl7CgkJY292ZXJhZ2UgPSAxLjAgLSBjb3ZlcmFnZTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChjb3ZlcmFnZSkpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","AYTRVAADQAAAOAEARAFQJAABBADAAAILBYAACCYUQD777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7CmluIGhhbGYzIGluQ2xpcFBsYW5lOwppbiBoYWxmMyBpbklzZWN0UGxhbmU7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKb3V0IGhhbGYzIHZpbklzZWN0UGxhbmVfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5DbGlwUGxhbmVfUzAgPSBpbkNsaXBQbGFuZTsKCXZpbklzZWN0UGxhbmVfUzAgPSBpbklzZWN0UGxhbmU7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gdWxvY2FsTWF0cml4X1MwLnh6ICogaW5Qb3NpdGlvbiArIHVsb2NhbE1hdHJpeF9TMC55dzsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADdAwAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKaW4gaGFsZjMgdmluSXNlY3RQbGFuZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGYzIGNsaXBQbGFuZTsKCWNsaXBQbGFuZSA9IHZpbkNsaXBQbGFuZV9TMDsKCWhhbGYzIGlzZWN0UGxhbmU7Cglpc2VjdFBsYW5lID0gdmluSXNlY3RQbGFuZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGYgY2xpcCA9IGhhbGYoc2F0dXJhdGUoY2lyY2xlRWRnZS56ICogZG90KGNpcmNsZUVkZ2UueHksIGNsaXBQbGFuZS54eSkgKyBjbGlwUGxhbmUueikpOwoJY2xpcCAqPSBoYWxmKHNhdHVyYXRlKGNpcmNsZUVkZ2UueiAqIGRvdChjaXJjbGVFZGdlLnh5LCBpc2VjdFBsYW5lLnh5KSArIGlzZWN0UGxhbmUueikpOwoJZWRnZUFscGhhICo9IGNsaXA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlCwAAAGluQ2xpcFBsYW5lAAwAAABpbklzZWN0UGxhbmUAAAAA","HWJQAAAAABEAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777A4QCQAAAAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1OaAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwppbiBmbG9hdDQgdGV4U3Vic2V0OwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpmbGF0IG91dCBmbG9hdDQgdnRleFN1YnNldF9TMDsKb3V0IGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDIgcG9zaXRpb24gPSBwb3NpdGlvbi54eTsKCXZsb2NhbENvb3JkX1MwID0gbG9jYWxDb29yZDsKCXZ0ZXhTdWJzZXRfUzAgPSB0ZXhTdWJzZXQ7Cgl2Y292ZXJhZ2VfUzAgPSBjb3ZlcmFnZTsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAAABWAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmZsYXQgaW4gZmxvYXQ0IHZ0ZXhTdWJzZXRfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglmbG9hdDQgc3Vic2V0OwoJc3Vic2V0ID0gdnRleFN1YnNldF9TMDsKCXRleENvb3JkID0gY2xhbXAodGV4Q29vcmQsIHN1YnNldC5MVCwgc3Vic2V0LlJCKTsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBoYWxmNCgxKSkpOwoJZmxvYXQgY292ZXJhZ2UgPSB2Y292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAACQAAAHRleFN1YnNldAAAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAACkAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQAAAAQAAAAGQCBAMQAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAADsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","EADQAAAAAEAAAAAUAABQAAQPAAABCFYMAAKAUEAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MyBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MyBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IGluUG9zaXRpb24ueHkwejsKfQoAAAAAAACXAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBmbG9hdDIgdkludFRleHR1cmVDb29yZHNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGlzdGFuY2VGaWVsZFBhdGgKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiB1diA9IHZUZXh0dXJlQ29vcmRzX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS5ycnJyOwoJfQoJaGFsZiBkaXN0YW5jZSA9IDcuOTY4NzUqKHRleENvbG9yLnIgLSAwLjUwMTk2MDc4NDMxKTsKCWhhbGYgYWZ3aWR0aDsKCWFmd2lkdGggPSBhYnMoMC42NSpoYWxmKGRGZHgodkludFRleHR1cmVDb29yZHNfUzAueCkpKTsKCWhhbGYgdmFsID0gc21vb3Roc3RlcCgtYWZ3aWR0aCwgYWZ3aWR0aCwgZGlzdGFuY2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCh2YWwpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA=="}} \ No newline at end of file +{"platform":"android","name":"SM G970N","engineRevision":"55eae6864b296dd9f43b2cc7577ec256e5c32a8d","data":{"AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAGsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCkucnJycjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAB7AgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEUDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzAueHksIHVjbGFtcF9TMV9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQAAAAQAAAAGQCBAMQAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAADsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAEAQCAAAAAVREEAQAAAAAQCDAAQQGAABAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAHwQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gTWF0cml4RWZmZWN0X1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAA6QAAAABYCTIUIE4AIAAAYAAAAAQAAAAAEART4FIEMEKMAAAAAMAAAAAAAAAAAABIADAAAAAIAAAAAAAIIDAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAPQUAAGNvbnN0IGludCBrRmlsbEJXX1MxX2MwID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxX2MwID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxX2MwID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBSZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBjb3ZlcmFnZTsKCWlmIChpbnQoMSkgPT0ga0ZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzFfYzApIAoJewoJCWNvdmVyYWdlID0gaGFsZihhbGwoZ3JlYXRlclRoYW4oZmxvYXQ0KHNrX0ZyYWdDb29yZC54eSwgdXJlY3RVbmlmb3JtX1MxX2MwLnp3KSwgZmxvYXQ0KHVyZWN0VW5pZm9ybV9TMV9jMC54eSwgc2tfRnJhZ0Nvb3JkLnh5KSkpKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gc2F0dXJhdGUoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzFfYzApKTsKCQloYWxmMiBkaXN0czIgPSAoZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3KSAtIDEuMDsKCQljb3ZlcmFnZSA9IGRpc3RzMi54ICogZGlzdHMyLnk7Cgl9CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCkgCgl7CgkJY292ZXJhZ2UgPSAxLjAgLSBjb3ZlcmFnZTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChjb3ZlcmFnZSkpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAMAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAADWAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"DAAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAADAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBoYWxmMyB2aW5TaGFkb3dQYXJhbXNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUlJlY3RTaGFkb3cKCWhhbGYzIHNoYWRvd1BhcmFtczsKCXNoYWRvd1BhcmFtcyA9IHZpblNoYWRvd1BhcmFtc19TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZCA9IGxlbmd0aChzaGFkb3dQYXJhbXMueHkpOwoJZmxvYXQyIHV2ID0gZmxvYXQyKHNoYWRvd1BhcmFtcy56ICogKDEuMCAtIGQpLCAwLjUpOwoJaGFsZiBmYWN0b3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS4wMDByLmE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGZhY3Rvcik7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADgAAAGluU2hhZG93UGFyYW1zAAAAAAAA","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABHAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABnZW9tU3Vic2V0AAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAB5AAAAAAYFRP5FIUAQAADQAAAABAAAAAAABAEMBTLG62KRAAAAAHAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAABJBQAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMykgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvdmVyYWdlX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOAAAAcmFkaWlfc2VsZWN0b3IAABkAAABjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzAAAAFQAAAGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZQAAAAcAAAByYWRpaV94AAcAAAByYWRpaV95AAQAAABza2V3GQAAAHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUAAAAFAAAAY29sb3IAAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAABQAAAAAAAACAAAAADYCAAIAAAAAWBRAAAABAAAAANAEIQCAAAAAAAAAAAAAUABQAAAAEAAAAAAAEEBQAAAA":"DAAAAExTS1N5AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzRfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIHBvc2l0aW9uLnh5MTsKCX0KfQoAAAAAAAAAzAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERldmljZVNwYWNlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX2RzdF9pbihEZXZpY2VTcGFjZV9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAA8AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXJFeHRlcm5hbE9FUyB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAIAEAAAABSGQUAGC2HJ2AAAAAAAIAEAAAABLBCABAAAAABAEGABBAMAAACAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAueSwgdWNsYW1wX1MxX2MwX2MwX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclkgPSBoYWxmKHN1YnNldENvb3JkLnkgLSBjbGFtcGVkQ29vcmQueSk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclkpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAATQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAEQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NoAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc180X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMCkgKiBwb3NpdGlvbi54eTE7Cgl9Cn0KAAAAADkDAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HWJAAAAAAAUAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1NKAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBwb3NpdGlvbiA9IHBvc2l0aW9uLnh5OwoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJdmNvdmVyYWdlX1MwID0gY292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAA3AEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAB4FJEIEKOAAAAAMAAAAAEAHQAACAAAAAAQCGPSVARQRJAAAAABQAAAAAAAAAAA4JAPAAACAAAAAAAAAB2AAAAAAACAAAAAEBSAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAA0iAAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwpjb25zdCBpbnQga0ZpbGxCV19TMl9jMCA9IDA7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxCV19TMl9jMCA9IDI7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxBQV9TMl9jMCA9IDM7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MyX2MwOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyX2MxOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMl9jMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgUmVjdF9TMl9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzJfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMl9jMC56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzJfYzAueHksIHNrX0ZyYWdDb29yZC54eSkpKSk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IHNhdHVyYXRlKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MyX2MwKSk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMl9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzJfYzApIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoaGFsZjQoY292ZXJhZ2UpKTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyX2MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMl9jMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMl9jMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyX2MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMl9jMChfc3JjKSwgQ2lyY3VsYXJSUmVjdF9TMl9jMShfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQmxlbmRfUzIob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRfUzI7Cgl9Cn0KAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAABsdAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMjsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQ2lyY3VsYXJSUmVjdF9TMihvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0X1MyOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABFAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAAAEAAAABSGQUAGC2HJ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACbAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAzAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gY2xhbXAoc3Vic2V0Q29vcmQueCwgdWNsYW1wX1MxX2MwLngsIHVjbGFtcF9TMV9jMC56KTsKCWNsYW1wZWRDb29yZC55ID0gc3Vic2V0Q29vcmQueTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAqQEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HWJQAAAAABEAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777A4QCQAAAAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1OaAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwppbiBmbG9hdDQgdGV4U3Vic2V0OwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpmbGF0IG91dCBmbG9hdDQgdnRleFN1YnNldF9TMDsKb3V0IGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDIgcG9zaXRpb24gPSBwb3NpdGlvbi54eTsKCXZsb2NhbENvb3JkX1MwID0gbG9jYWxDb29yZDsKCXZ0ZXhTdWJzZXRfUzAgPSB0ZXhTdWJzZXQ7Cgl2Y292ZXJhZ2VfUzAgPSBjb3ZlcmFnZTsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAAABWAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmZsYXQgaW4gZmxvYXQ0IHZ0ZXhTdWJzZXRfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglmbG9hdDQgc3Vic2V0OwoJc3Vic2V0ID0gdnRleFN1YnNldF9TMDsKCXRleENvb3JkID0gY2xhbXAodGV4Q29vcmQsIHN1YnNldC5MVCwgc3Vic2V0LlJCKTsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBoYWxmNCgxKSkpOwoJZmxvYXQgY292ZXJhZ2UgPSB2Y292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAACQAAAHRleFN1YnNldAAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAAJQAAAAAAAACAAAAADYCAAIAAAAACABKAYABAAAAAFAEEQCEAAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAA":"DAAAAExTS1MIAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwppbiBmbG9hdDIgcG9zaXRpb247CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzJfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAC0HQAAZmxvYXQ0IGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwOwpmbG9hdDQgZnJhZ0NvbG9yX1MxX2MwOwpmbG9hdCB1X2FscGhhX1MxX2MwOwpmbG9hdCB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfYmx1cl9TMV9jMDsKZmxvYXQgdV9yYWRpdXNfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzI7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzJfYzBfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMiwgdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzApLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MyX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MyX2MwX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGV2aWNlU3BhY2VfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMl9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfZHN0X2luKERldmljZVNwYWNlX1MyX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAABgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA4IAEAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAsB0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0IGR5MCA9IHVpbm5lclJlY3RfUzIuVCAtIHNrX0ZyYWdDb29yZC55OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChmbG9hdDIoZHh5MS54LCBtYXgoZHkwLCBkeHkxLnkpKSwgMC4wKTsKCWhhbGYgbGVmdEFscGhhID0gaGFsZihzYXR1cmF0ZShza19GcmFnQ29vcmQueCAtIHVpbm5lclJlY3RfUzIuTCkpOwoJaGFsZiBhbHBoYSA9IGxlZnRBbHBoYSAqIGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","AYTRVAADQAAAOAEARAFQJAABBADAAAILBYAACCYUQD777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7CmluIGhhbGYzIGluQ2xpcFBsYW5lOwppbiBoYWxmMyBpbklzZWN0UGxhbmU7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKb3V0IGhhbGYzIHZpbklzZWN0UGxhbmVfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5DbGlwUGxhbmVfUzAgPSBpbkNsaXBQbGFuZTsKCXZpbklzZWN0UGxhbmVfUzAgPSBpbklzZWN0UGxhbmU7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gdWxvY2FsTWF0cml4X1MwLnh6ICogaW5Qb3NpdGlvbiArIHVsb2NhbE1hdHJpeF9TMC55dzsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADdAwAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKaW4gaGFsZjMgdmluSXNlY3RQbGFuZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGYzIGNsaXBQbGFuZTsKCWNsaXBQbGFuZSA9IHZpbkNsaXBQbGFuZV9TMDsKCWhhbGYzIGlzZWN0UGxhbmU7Cglpc2VjdFBsYW5lID0gdmluSXNlY3RQbGFuZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGYgY2xpcCA9IGhhbGYoc2F0dXJhdGUoY2lyY2xlRWRnZS56ICogZG90KGNpcmNsZUVkZ2UueHksIGNsaXBQbGFuZS54eSkgKyBjbGlwUGxhbmUueikpOwoJY2xpcCAqPSBoYWxmKHNhdHVyYXRlKGNpcmNsZUVkZ2UueiAqIGRvdChjaXJjbGVFZGdlLnh5LCBpc2VjdFBsYW5lLnh5KSArIGlzZWN0UGxhbmUueikpOwoJZWRnZUFscGhhICo9IGNsaXA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlCwAAAGluQ2xpcFBsYW5lAAwAAABpbklzZWN0UGxhbmUAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUARTXZMUZ2AAAAAAAAAEAAAABSGQRRXRMEZ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDY7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfN19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAIQoAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAACkAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","DASAAAAAAAAAAAEAAFQAAIGAAEAOB77776PUEAIBAAAAAABAAAAAAABAMQAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAADYAQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB1Q29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApOwoJfQoJb3V0cHV0Q29sb3JfUzAgPSBvdXRwdXRDb2xvcl9TMCAqIHRleENvbG9yOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAACAAAEAAAABSGQUAGC2HJ2AAAAACAAAEAAAABLRAABAAAAABAEGABBAMAAQAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueCwgdWNsYW1wX1MxX2MwX2MwX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclggPSBoYWxmKHN1YnNldENvb3JkLnggLSBjbGFtcGVkQ29vcmQueCk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclgpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAAANAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAUAAAAAAAIIDA":"DAAAAExTS1PrAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzdfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc183X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAQAAAGgKAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMF9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MxOwp1bmlmb3JtIGhhbGYgdXJhbmdlX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSAoaGFsZjQoMS4wKSAtIG91dHB1dF9TMSkgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","EADQAAAAAEAAAAAUAABQAAQPAAABCFYMAAKAUEAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MyBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MyBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IGluUG9zaXRpb24ueHkwejsKfQoAAAAAAACXAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBmbG9hdDIgdkludFRleHR1cmVDb29yZHNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGlzdGFuY2VGaWVsZFBhdGgKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiB1diA9IHZUZXh0dXJlQ29vcmRzX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS5ycnJyOwoJfQoJaGFsZiBkaXN0YW5jZSA9IDcuOTY4NzUqKHRleENvbG9yLnIgLSAwLjUwMTk2MDc4NDMxKTsKCWhhbGYgYWZ3aWR0aDsKCWFmd2lkdGggPSBhYnMoMC42NSpoYWxmKGRGZHgodkludFRleHR1cmVDb29yZHNfUzAueCkpKTsKCWhhbGYgdmFsID0gc21vb3Roc3RlcCgtYWZ3aWR0aCwgYWZ3aWR0aCwgZGlzdGFuY2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCh2YWwpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAEBUEFLMJAIAAAQCI6KVAYAAAAAAAAAAAQAAAADEA2JT4HAIAAAADIIODXOJIBAAAGAAAAACAKAC5XEQEAAAAAEPF2SMAAAAAAAAIAAAADFUUGB3XUUAQAADAAAAAAABARO3SJCAAAAACGSZJWCAAAAAAAIAAAABSFBUEFLMJAIAAAAAAAAAEACUMVSTUFAEAAAAAIAAAABEFBSHSVIGAAAAAAAAAAACABKBAABAAAAAFAEEQCEAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAHQkAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgMWUtMDUsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglyZXR1cm4gaGFsZjQob3V0Q29sb3IpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIF9jb29yZHMpLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MxKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzEpICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IERpdGhlcl9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzZfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IGNvbG9yID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChfdG1wXzZfaW5Db2xvcik7CgloYWxmIHZhbHVlID0gTWF0cml4RWZmZWN0X1MxX2MxKF90bXBfNl9pbkNvbG9yLCBza19GcmFnQ29vcmQueHkpLncgLSAwLjU7CglyZXR1cm4gaGFsZjQoaGFsZjQoY2xhbXAoY29sb3IueHl6ICsgdmFsdWUgKiB1cmFuZ2VfUzEsIDAuMCwgY29sb3IudyksIGNvbG9yLncpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpdGhlcl9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAAAACAAAAAVQEAAQAAAAAQCDAAQQGAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAADAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IE1hdHJpeEVmZmVjdF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"DAAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADVAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQyIHRleENvb3JkOwoJdGV4Q29vcmQgPSB2bG9jYWxDb29yZF9TMDsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBvdXRwdXRDb2xvcl9TMCkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","CMRQCIAABBYAAAEIXBAAACDQMAABRAFAAAAAAAAAAAAAAAEABYAAAAEAAAAAAAEEBQAAAAA":"DAAAAExTS1MyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0MiBpbkVsbGlwc2VPZmZzZXQ7CmluIGZsb2F0NCBpbkVsbGlwc2VSYWRpaTsKb3V0IGZsb2F0MiB2RWxsaXBzZU9mZnNldHNfUzA7Cm91dCBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCXZFbGxpcHNlT2Zmc2V0c19TMCA9IGluRWxsaXBzZU9mZnNldDsKCXZFbGxpcHNlUmFkaWlfUzAgPSBpbkVsbGlwc2VSYWRpaTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAHIDAABpbiBmbG9hdDIgdkVsbGlwc2VPZmZzZXRzX1MwOwppbiBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiBvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHk7CglvZmZzZXQgKj0gdkVsbGlwc2VSYWRpaV9TMC54eTsKCWZsb2F0IHRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZmxvYXQyIGdyYWQgPSAyLjAqb2Zmc2V0KnZFbGxpcHNlUmFkaWlfUzAueHk7CglmbG9hdCBncmFkX2RvdCA9IGRvdChncmFkLCBncmFkKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjE3NTVlLTM4KTsKCWZsb2F0IGludmxlbiA9IGludmVyc2VzcXJ0KGdyYWRfZG90KTsKCWZsb2F0IGVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNS10ZXN0Kmludmxlbik7CglvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHkqdkVsbGlwc2VSYWRpaV9TMC56dzsKCXRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZ3JhZCA9IDIuMCpvZmZzZXQqdkVsbGlwc2VSYWRpaV9TMC56dzsKCWdyYWRfZG90ID0gZG90KGdyYWQsIGdyYWQpOwoJaW52bGVuID0gaW52ZXJzZXNxcnQoZ3JhZF9kb3QpOwoJZWRnZUFscGhhICo9IHNhdHVyYXRlKDAuNSt0ZXN0Kmludmxlbik7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoZWRnZUFscGhhKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpbkVsbGlwc2VPZmZzZXQADgAAAGluRWxsaXBzZVJhZGlpAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAUx0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMi5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMi5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAB4QA4AAAEAAAAAABIADAAAAAIAAAAAAAIID":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAOAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAGAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAAAAAA=","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAEAAAABQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAAAAxBsAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIwbAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAeBQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAAGFM37JKEAAAAAMAAAAAIAAAAAAAIBDAN25XWQUAAAAAAYAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAAJAeAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKY29uc3QgaW50IGtGaWxsQUFfUzJfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzJfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzJfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVjaXJjbGVfUzJfYzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjbGVfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMl9jMC54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MyX2MwLncpIC0gMS4wKSAqIHVjaXJjbGVfUzJfYzAueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzJfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMl9jMC53KSkgKiB1Y2lyY2xlX1MyX2MwLnopOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGludCgxKSA9PSBrRmlsbEFBX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCA/IHNhdHVyYXRlKGQpIDogaGFsZihkID4gMC41KSkpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoX3NyYywgQ2lyY2xlX1MyX2MwKF9zcmMpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAADIAAAAIH5K3LIKAAAAAAMAAAAAIAAAAAAGIZBQP3FQWAUAABQAAAAAAAAAAAAADUAAAAAAAEAAAAAIDEAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACoBAAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMSkgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA="}} \ No newline at end of file From ece28db3f89a1cad01d3e755e258073cfa3be698 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 30 May 2024 01:34:18 +0200 Subject: [PATCH 21/34] #1032 screen saver: black background --- CHANGELOG.md | 1 + .../thibault/aves/ScreenSaverService.kt | 11 +++++ lib/app_mode.dart | 1 + lib/widgets/aves_app.dart | 24 ++++++++-- lib/widgets/collection/grid/tile.dart | 8 +--- lib/widgets/viewer/entry_vertical_pager.dart | 6 +-- lib/widgets/viewer/entry_viewer_stack.dart | 45 +++++++++++++------ .../viewer/visual/entry_page_view.dart | 1 + .../viewer/visual/video/swipe_action.dart | 6 +-- lib/widgets/wallpaper_page.dart | 3 +- 10 files changed, 75 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 336ca9b9f..43245ecb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. ### Changed +- Screen saver: black background, consistent with slideshow - upgraded Flutter to stable v3.22.1 ### Removed diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/ScreenSaverService.kt b/android/app/src/main/kotlin/deckers/thibault/aves/ScreenSaverService.kt index be332d36f..931fe9560 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/ScreenSaverService.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/ScreenSaverService.kt @@ -9,6 +9,7 @@ import deckers.thibault.aves.channel.calls.* import deckers.thibault.aves.channel.calls.window.ServiceWindowHandler import deckers.thibault.aves.channel.calls.window.WindowHandler import deckers.thibault.aves.channel.streams.ImageByteStreamHandler +import deckers.thibault.aves.channel.streams.MediaCommandStreamHandler import deckers.thibault.aves.channel.streams.MediaStoreStreamHandler import deckers.thibault.aves.utils.LogUtils import io.flutter.FlutterInjector @@ -18,12 +19,14 @@ import io.flutter.embedding.android.FlutterView import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint import io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister +import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MethodChannel // for FlutterView-level integration, cf https://docs.flutter.dev/development/add-to-app/android/add-flutter-view class ScreenSaverService : DreamService() { private var flutterEngine: FlutterEngine? = null private var flutterView: FlutterView? = null + private lateinit var mediaSessionHandler: MediaSessionHandler override fun onAttachedToWindow() { Log.i(LOG_TAG, "onAttachedToWindow") @@ -77,6 +80,7 @@ class ScreenSaverService : DreamService() { private fun release() { destroyView() + mediaSessionHandler.dispose() flutterEngine = null flutterView = null } @@ -96,12 +100,19 @@ class ScreenSaverService : DreamService() { private fun initChannels() { val messenger = flutterEngine!!.dartExecutor + // notification: platform -> dart + val mediaCommandStreamHandler = MediaCommandStreamHandler().apply { + EventChannel(messenger, MediaCommandStreamHandler.CHANNEL).setStreamHandler(this) + } + // dart -> platform -> dart // - need Context + mediaSessionHandler = MediaSessionHandler(this, mediaCommandStreamHandler) MethodChannel(messenger, DeviceHandler.CHANNEL).setMethodCallHandler(DeviceHandler(this)) MethodChannel(messenger, EmbeddedDataHandler.CHANNEL).setMethodCallHandler(EmbeddedDataHandler(this)) MethodChannel(messenger, MediaFetchBytesHandler.CHANNEL, AvesByteSendingMethodCodec.INSTANCE).setMethodCallHandler(MediaFetchBytesHandler(this)) MethodChannel(messenger, MediaFetchObjectHandler.CHANNEL).setMethodCallHandler(MediaFetchObjectHandler(this)) + MethodChannel(messenger, MediaSessionHandler.CHANNEL).setMethodCallHandler(mediaSessionHandler) MethodChannel(messenger, MediaStoreHandler.CHANNEL).setMethodCallHandler(MediaStoreHandler(this)) MethodChannel(messenger, MetadataFetchHandler.CHANNEL).setMethodCallHandler(MetadataFetchHandler(this)) MethodChannel(messenger, StorageHandler.CHANNEL).setMethodCallHandler(StorageHandler(this)) diff --git a/lib/app_mode.dart b/lib/app_mode.dart index 478afd8b9..950458bc2 100644 --- a/lib/app_mode.dart +++ b/lib/app_mode.dart @@ -1,4 +1,5 @@ enum AppMode { + initialization, main, pickCollectionFiltersExternal, pickSingleMediaExternal, diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index 1a853f8e1..f274ae169 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -86,6 +86,8 @@ class AvesApp extends StatefulWidget { // so that we can react to fullscreen `PageRoute`s only static final RouteObserver pageRouteObserver = RouteObserver(); + static ScreenBrightness? get screenBrightness => _AvesAppState._screenBrightness; + const AvesApp({ super.key, required this.flavor, @@ -159,7 +161,7 @@ class _AvesAppState extends State with WidgetsBindingObserver { final ValueNotifier _pageTransitionsBuilderNotifier = ValueNotifier(defaultPageTransitionsBuilder); final ValueNotifier _tvMediaQueryModifierNotifier = ValueNotifier(null); - final ValueNotifier _appModeNotifier = ValueNotifier(AppMode.main); + final ValueNotifier _appModeNotifier = ValueNotifier(AppMode.initialization); // observers are not registered when using the same list object with different items // the list itself needs to be reassigned @@ -175,6 +177,7 @@ class _AvesAppState extends State with WidgetsBindingObserver { // - `ZoomPageTransitionsBuilder` on Android 10 / API 29 and above (default in Flutter v3.0.0) static const defaultPageTransitionsBuilder = FadeUpwardsPageTransitionsBuilder(); static final GlobalKey _navigatorKey = GlobalKey(debugLabel: 'app-navigator'); + static ScreenBrightness? _screenBrightness; @override void initState() { @@ -187,6 +190,7 @@ class _AvesAppState extends State with WidgetsBindingObserver { _subscriptions.add(_analysisCompletionChannel.receiveBroadcastStream().listen((event) => _onAnalysisCompletion())); _subscriptions.add(_errorChannel.receiveBroadcastStream().listen((event) => _onError(event as String?))); _updateCutoutInsets(); + _appModeNotifier.addListener(_onAppModeChanged); WidgetsBinding.instance.addObserver(this); } @@ -539,9 +543,9 @@ class _AvesAppState extends State with WidgetsBindingObserver { switch (settings.maxBrightness) { case MaxBrightness.never: case MaxBrightness.viewerOnly: - ScreenBrightness().resetScreenBrightness(); + AvesApp.screenBrightness?.resetScreenBrightness(); case MaxBrightness.always: - ScreenBrightness().setScreenBrightness(1); + AvesApp.screenBrightness?.setScreenBrightness(1); } } @@ -627,6 +631,20 @@ class _AvesAppState extends State with WidgetsBindingObserver { } void _onError(String? error) => reportService.recordError(error, null); + + void _onAppModeChanged() { + final appMode = _appModeNotifier.value; + debugPrint('App mode set to $appMode'); + switch (appMode) { + case AppMode.screenSaver: + // we cannot modify brightness without access to the activity + _screenBrightness = null; + break; + default: + _screenBrightness = ScreenBrightness(); + break; + } + } } class AvesScrollBehavior extends MaterialScrollBehavior { diff --git a/lib/widgets/collection/grid/tile.dart b/lib/widgets/collection/grid/tile.dart index 554c9cb9a..4e8824d0a 100644 --- a/lib/widgets/collection/grid/tile.dart +++ b/lib/widgets/collection/grid/tile.dart @@ -49,13 +49,7 @@ class InteractiveTile extends StatelessWidget { case AppMode.pickFilteredMediaInternal: case AppMode.pickUnfilteredMediaInternal: Navigator.maybeOf(context)?.pop(entry); - case AppMode.pickCollectionFiltersExternal: - case AppMode.pickFilterInternal: - case AppMode.screenSaver: - case AppMode.setWallpaper: - case AppMode.slideshow: - case AppMode.view: - case AppMode.edit: + default: break; } }, diff --git a/lib/widgets/viewer/entry_vertical_pager.dart b/lib/widgets/viewer/entry_vertical_pager.dart index 5d890dce2..83292311a 100644 --- a/lib/widgets/viewer/entry_vertical_pager.dart +++ b/lib/widgets/viewer/entry_vertical_pager.dart @@ -10,6 +10,7 @@ import 'package:aves/model/entry/extensions/props.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/theme/durations.dart'; +import 'package:aves/widgets/aves_app.dart'; import 'package:aves/widgets/common/behaviour/springy_scroll_physics.dart'; import 'package:aves/widgets/common/extensions/theme.dart'; import 'package:aves/widgets/viewer/action/entry_action_delegate.dart'; @@ -26,7 +27,6 @@ import 'package:aves_model/aves_model.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; -import 'package:screen_brightness/screen_brightness.dart'; class ViewerVerticalPageView extends StatefulWidget { final CollectionLens? collection; @@ -86,7 +86,7 @@ class _ViewerVerticalPageViewState extends State { _registerWidget(widget); if (settings.maxBrightness == MaxBrightness.viewerOnly) { - _systemBrightness = ScreenBrightness().system; + _systemBrightness = AvesApp.screenBrightness?.system; } } @@ -328,7 +328,7 @@ class _ViewerVerticalPageViewState extends State { if (settings.maxBrightness == MaxBrightness.viewerOnly) { _systemBrightness?.then((system) { final value = lerpDouble(maximumBrightness, system, ((1 - page).abs() * 2).clamp(0, 1))!; - ScreenBrightness().setScreenBrightness(value); + AvesApp.screenBrightness?.setScreenBrightness(value); }); } diff --git a/lib/widgets/viewer/entry_viewer_stack.dart b/lib/widgets/viewer/entry_viewer_stack.dart index 1e73c1e8b..17eef5b6c 100644 --- a/lib/widgets/viewer/entry_viewer_stack.dart +++ b/lib/widgets/viewer/entry_viewer_stack.dart @@ -45,7 +45,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; -import 'package:screen_brightness/screen_brightness.dart'; class EntryViewerStack extends StatefulWidget { final CollectionLens? collection; @@ -106,7 +105,7 @@ class _EntryViewerStackState extends State with EntryViewContr void initState() { super.initState(); if (settings.maxBrightness == MaxBrightness.viewerOnly) { - ScreenBrightness().setScreenBrightness(1); + AvesApp.screenBrightness?.setScreenBrightness(1); } if (settings.keepScreenOn == KeepScreenOn.viewerOnly) { windowService.keepScreenOn(true); @@ -901,15 +900,15 @@ class _EntryViewerStackState extends State with EntryViewContr switch (settings.maxBrightness) { case MaxBrightness.never: case MaxBrightness.viewerOnly: - await ScreenBrightness().resetScreenBrightness(); + await AvesApp.screenBrightness?.resetScreenBrightness(); case MaxBrightness.always: - await ScreenBrightness().setScreenBrightness(1); + await AvesApp.screenBrightness?.setScreenBrightness(1); } if (settings.keepScreenOn == KeepScreenOn.viewerOnly) { await windowService.keepScreenOn(false); } await mediaSessionService.release(); - await AvesApp.showSystemUI(); + await _showSystemUI(context, true); AvesApp.setSystemUIStyle(theme); if (!settings.useTvLayout) { await windowService.requestOrientation(); @@ -950,10 +949,16 @@ class _EntryViewerStackState extends State with EntryViewContr // overlay Future _initOverlay() async { - // wait for MaterialPageRoute.transitionDuration - // to show overlay after hero animation is complete - await Future.delayed(ModalRoute.of(context)!.transitionDuration * timeDilation); - await _onOverlayVisibleChanged(); + final appMode = context.read>().value; + if (appMode == AppMode.screenSaver) { + _overlayVisible.value = false; + await _onOverlayVisibleChanged(animate: false); + } else { + // wait for MaterialPageRoute.transitionDuration + // to show overlay after hero animation is complete + await Future.delayed(ModalRoute.of(context)!.transitionDuration * timeDilation); + await _onOverlayVisibleChanged(); + } _overlayInitialized = true; } @@ -963,7 +968,7 @@ class _EntryViewerStackState extends State with EntryViewContr if (_viewLocked.value) { await _startOverlayHidingTimer(); } else { - await AvesApp.showSystemUI(); + await _showSystemUI(context, true); AvesApp.setSystemUIStyle(Theme.of(context)); } if (animate) { @@ -978,7 +983,7 @@ class _EntryViewerStackState extends State with EntryViewContr _frozenViewInsets = mediaQuery.viewInsets; _frozenViewPadding = mediaQuery.viewPadding; }); - await AvesApp.hideSystemUI(); + await _showSystemUI(context, false); if (animate) { await _overlayAnimationController.reverse(); } else { @@ -993,10 +998,10 @@ class _EntryViewerStackState extends State with EntryViewContr Future _onViewLockedChanged() async { if (_viewLocked.value) { - await AvesApp.hideSystemUI(); + await _showSystemUI(context, false); await _startOverlayHidingTimer(); } else { - await AvesApp.showSystemUI(); + await _showSystemUI(context, true); AvesApp.setSystemUIStyle(Theme.of(context)); _stopOverlayHidingTimer(); _overlayVisible.value = true; @@ -1010,4 +1015,18 @@ class _EntryViewerStackState extends State with EntryViewContr } void _stopOverlayHidingTimer() => _overlayHidingTimer?.cancel(); + + Future _showSystemUI(BuildContext context, bool show) async { + final appMode = context.read>().value; + if (appMode == AppMode.screenSaver) { + // as of Flutter v3.22.1, calls to `SystemChrome.setEnabledSystemUIMode` hang when app is used as a screen saver + return; + } + + if (show) { + await AvesApp.showSystemUI(); + } else { + await AvesApp.hideSystemUI(); + } + } } diff --git a/lib/widgets/viewer/visual/entry_page_view.dart b/lib/widgets/viewer/visual/entry_page_view.dart index eb8f122d4..32a34248e 100644 --- a/lib/widgets/viewer/visual/entry_page_view.dart +++ b/lib/widgets/viewer/visual/entry_page_view.dart @@ -488,6 +488,7 @@ class _EntryPageViewState extends State with TickerProviderStateM } void _onViewStateChanged(MagnifierState v) { + if (!mounted) return; _viewStateNotifier.value = _viewStateNotifier.value.copyWith( position: v.position, scale: v.scale, diff --git a/lib/widgets/viewer/visual/video/swipe_action.dart b/lib/widgets/viewer/visual/video/swipe_action.dart index 30b049672..435f3da34 100644 --- a/lib/widgets/viewer/visual/video/swipe_action.dart +++ b/lib/widgets/viewer/visual/video/swipe_action.dart @@ -1,9 +1,9 @@ import 'dart:async'; import 'package:aves/theme/icons.dart'; +import 'package:aves/widgets/aves_app.dart'; import 'package:decorated_icon/decorated_icon.dart'; import 'package:flutter/material.dart'; -import 'package:screen_brightness/screen_brightness.dart'; import 'package:volume_controller/volume_controller.dart'; enum SwipeAction { brightness, volume } @@ -12,7 +12,7 @@ extension ExtraSwipeAction on SwipeAction { Future get() { switch (this) { case SwipeAction.brightness: - return ScreenBrightness().current; + return AvesApp.screenBrightness?.current ?? Future.value(1); case SwipeAction.volume: return VolumeController().getVolume(); } @@ -21,7 +21,7 @@ extension ExtraSwipeAction on SwipeAction { Future set(double value) async { switch (this) { case SwipeAction.brightness: - await ScreenBrightness().setScreenBrightness(value); + await AvesApp.screenBrightness?.setScreenBrightness(value); case SwipeAction.volume: VolumeController().setVolume(value, showSystemUI: false); } diff --git a/lib/widgets/wallpaper_page.dart b/lib/widgets/wallpaper_page.dart index 7313af32b..56b51a35b 100644 --- a/lib/widgets/wallpaper_page.dart +++ b/lib/widgets/wallpaper_page.dart @@ -24,7 +24,6 @@ import 'package:aves_model/aves_model.dart'; import 'package:aves_video/aves_video.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:screen_brightness/screen_brightness.dart'; class WallpaperPage extends StatelessWidget { static const routeName = '/set_wallpaper'; @@ -89,7 +88,7 @@ class _EntryEditorState extends State with EntryViewControllerMixin void initState() { super.initState(); if (settings.maxBrightness == MaxBrightness.viewerOnly) { - ScreenBrightness().setScreenBrightness(1); + AvesApp.screenBrightness?.setScreenBrightness(1); } if (settings.keepScreenOn == KeepScreenOn.viewerOnly) { windowService.keepScreenOn(true); From fe0c2e345bab07910f113d1f7a8bcb64039f943a Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 30 May 2024 23:32:13 +0200 Subject: [PATCH 22/34] #1012 show chip selection in collection via `or` filter --- CHANGELOG.md | 4 ++ lib/app_mode.dart | 5 +- lib/l10n/app_en.arb | 1 + lib/model/filters/aspect_ratio.dart | 4 +- lib/model/filters/coordinate.dart | 2 +- lib/model/filters/date.dart | 4 +- lib/model/filters/favourite.dart | 2 +- lib/model/filters/filters.dart | 4 ++ lib/model/filters/location.dart | 2 +- lib/model/filters/mime.dart | 2 +- lib/model/filters/missing.dart | 2 +- lib/model/filters/or.dart | 72 +++++++++++++++++++ lib/model/filters/placeholder.dart | 2 +- lib/model/filters/query.dart | 2 +- lib/model/filters/recent.dart | 2 +- lib/model/filters/tag.dart | 4 +- lib/model/filters/trash.dart | 2 +- lib/model/filters/type.dart | 2 +- lib/view/src/actions/chip_set.dart | 2 + lib/widgets/aves_app.dart | 4 -- .../common/identity/aves_filter_chip.dart | 4 -- lib/widgets/editor/transform/cropper.dart | 8 --- .../editor/transform/transformation.dart | 7 -- .../common/action_delegates/chip_set.dart | 39 +++++++--- .../settings/common/collection_tile.dart | 11 ++- .../aves_model/lib/src/actions/chip_set.dart | 2 + 26 files changed, 139 insertions(+), 56 deletions(-) create mode 100644 lib/model/filters/or.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index 43245ecb2..bfb2320f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Added + +- Albums / Countries / Tags: show selection in Collection + ### Changed - Screen saver: black background, consistent with slideshow diff --git a/lib/app_mode.dart b/lib/app_mode.dart index 950458bc2..34b16f9b5 100644 --- a/lib/app_mode.dart +++ b/lib/app_mode.dart @@ -32,7 +32,10 @@ extension ExtraAppMode on AppMode { AppMode.pickMultipleMediaExternal, }.contains(this); - bool get canSelectFilter => this == AppMode.main; + bool get canSelectFilter => { + AppMode.main, + AppMode.pickCollectionFiltersExternal, + }.contains(this); bool get canCreateFilter => { AppMode.main, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index e34912ec1..4ceb286db 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -85,6 +85,7 @@ "sourceStateLocatingPlaces": "Locating places", "chipActionDelete": "Delete", + "chipActionShowCollection": "Show in Collection", "chipActionGoToAlbumPage": "Show in Albums", "chipActionGoToCountryPage": "Show in Countries", "chipActionGoToPlacePage": "Show in Places", diff --git a/lib/model/filters/aspect_ratio.dart b/lib/model/filters/aspect_ratio.dart index f21f48280..b638ef7e4 100644 --- a/lib/model/filters/aspect_ratio.dart +++ b/lib/model/filters/aspect_ratio.dart @@ -68,9 +68,7 @@ class AspectRatioFilter extends CollectionFilter { } @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) { - return Icon(AIcons.aspectRatio, size: size); - } + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.aspectRatio, size: size); @override String get category => type; diff --git a/lib/model/filters/coordinate.dart b/lib/model/filters/coordinate.dart index 57b7b4ebe..fff9df429 100644 --- a/lib/model/filters/coordinate.dart +++ b/lib/model/filters/coordinate.dart @@ -69,7 +69,7 @@ class CoordinateFilter extends CollectionFilter { } @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.geoBounds, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.geoBounds, size: size); @override String get category => type; diff --git a/lib/model/filters/date.dart b/lib/model/filters/date.dart index 3e5f1560f..2756de2e0 100644 --- a/lib/model/filters/date.dart +++ b/lib/model/filters/date.dart @@ -122,9 +122,7 @@ class DateFilter extends CollectionFilter { } @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) { - return Icon(AIcons.date, size: size); - } + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.date, size: size); @override String get category => type; diff --git a/lib/model/filters/favourite.dart b/lib/model/filters/favourite.dart index 3b5ff0333..2bd813b89 100644 --- a/lib/model/filters/favourite.dart +++ b/lib/model/filters/favourite.dart @@ -45,7 +45,7 @@ class FavouriteFilter extends CollectionFilter { String getLabel(BuildContext context) => context.l10n.filterFavouriteLabel; @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.favourite, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.favourite, size: size); @override Future color(BuildContext context) { diff --git a/lib/model/filters/filters.dart b/lib/model/filters/filters.dart index b6e08e2b9..f22270c88 100644 --- a/lib/model/filters/filters.dart +++ b/lib/model/filters/filters.dart @@ -10,6 +10,7 @@ import 'package:aves/model/filters/favourite.dart'; import 'package:aves/model/filters/location.dart'; import 'package:aves/model/filters/mime.dart'; import 'package:aves/model/filters/missing.dart'; +import 'package:aves/model/filters/or.dart'; import 'package:aves/model/filters/path.dart'; import 'package:aves/model/filters/placeholder.dart'; import 'package:aves/model/filters/query.dart'; @@ -43,6 +44,7 @@ abstract class CollectionFilter extends Equatable implements Comparable _isUnlocated ? context.l10n.filterNoLocationLabel : _location; @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) { + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) { if (_isUnlocated) { return Icon(AIcons.locationUnlocated, size: size); } diff --git a/lib/model/filters/mime.dart b/lib/model/filters/mime.dart index 341780c53..86d4840d2 100644 --- a/lib/model/filters/mime.dart +++ b/lib/model/filters/mime.dart @@ -77,7 +77,7 @@ class MimeFilter extends CollectionFilter { } @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); @override Future color(BuildContext context) { diff --git a/lib/model/filters/missing.dart b/lib/model/filters/missing.dart index 9d83f82c3..d785bc3c2 100644 --- a/lib/model/filters/missing.dart +++ b/lib/model/filters/missing.dart @@ -70,7 +70,7 @@ class MissingFilter extends CollectionFilter { } @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); @override String get category => type; diff --git a/lib/model/filters/or.dart b/lib/model/filters/or.dart new file mode 100644 index 000000000..89e62751f --- /dev/null +++ b/lib/model/filters/or.dart @@ -0,0 +1,72 @@ +import 'package:aves/model/filters/album.dart'; +import 'package:aves/model/filters/filters.dart'; +import 'package:aves/model/filters/location.dart'; +import 'package:aves/theme/icons.dart'; +import 'package:collection/collection.dart'; +import 'package:flutter/widgets.dart'; + +class OrFilter extends CollectionFilter { + static const type = 'or'; + + late final List _filters; + + late final EntryFilter _test; + late final IconData? _genericIcon; + + @override + List get props => [_filters, reversed]; + + CollectionFilter get _first => _filters.first; + + OrFilter(Set filters, {super.reversed = false}) { + _filters = filters.toList().sorted(); + _test = (entry) => _filters.any((v) => v.test(entry)); + switch (_first) { + case AlbumFilter(): + _genericIcon = AIcons.album; + case LocationFilter(level: LocationLevel.country): + _genericIcon = AIcons.country; + case LocationFilter(level: LocationLevel.state): + _genericIcon = AIcons.state; + default: + _genericIcon = null; + } + } + + factory OrFilter.fromMap(Map json) { + return OrFilter( + (json['filters'] as List).cast().map(CollectionFilter.fromJson).whereNotNull().toSet(), + reversed: json['reversed'] ?? false, + ); + } + + @override + Map toMap() => { + 'type': type, + 'filters': _filters.map((v) => v.toJson()).toList(), + 'reversed': reversed, + }; + + @override + EntryFilter get positiveTest => _test; + + @override + bool get exclusiveProp => false; + + @override + String get universalLabel => _filters.map((v) => v.universalLabel).join(', '); + + @override + String getLabel(BuildContext context) => _filters.map((v) => v.getLabel(context)).join(', '); + + @override + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) { + return _genericIcon != null ? Icon(_genericIcon, size: size) : _first.iconBuilder(context, size, showGenericIcon: showGenericIcon); + } + + @override + String get category => _first.category; + + @override + String get key => '$type-$reversed-${_filters.map((v) => v.key)}'; +} diff --git a/lib/model/filters/placeholder.dart b/lib/model/filters/placeholder.dart index ea8fdb093..9e3263786 100644 --- a/lib/model/filters/placeholder.dart +++ b/lib/model/filters/placeholder.dart @@ -96,7 +96,7 @@ class PlaceholderFilter extends CollectionFilter { } @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); @override String get category => type; diff --git a/lib/model/filters/query.dart b/lib/model/filters/query.dart index 2c1689551..af136e6ae 100644 --- a/lib/model/filters/query.dart +++ b/lib/model/filters/query.dart @@ -82,7 +82,7 @@ class QueryFilter extends CollectionFilter { String get universalLabel => query; @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.text, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.text, size: size); @override Future color(BuildContext context) { diff --git a/lib/model/filters/recent.dart b/lib/model/filters/recent.dart index a30e6cfbc..57d61e856 100644 --- a/lib/model/filters/recent.dart +++ b/lib/model/filters/recent.dart @@ -51,7 +51,7 @@ class RecentlyAddedFilter extends CollectionFilter { String getLabel(BuildContext context) => context.l10n.filterRecentlyAddedLabel; @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.dateRecent, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.dateRecent, size: size); @override String get category => type; diff --git a/lib/model/filters/tag.dart b/lib/model/filters/tag.dart index fd0cddc41..cbb723e04 100644 --- a/lib/model/filters/tag.dart +++ b/lib/model/filters/tag.dart @@ -47,7 +47,9 @@ class TagFilter extends CoveredCollectionFilter { String getLabel(BuildContext context) => tag.isEmpty ? context.l10n.filterNoTagLabel : tag; @override - Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => showGenericIcon ? Icon(tag.isEmpty ? AIcons.tagUntagged : AIcons.tag, size: size) : null; + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) { + return showGenericIcon ? Icon(tag.isEmpty ? AIcons.tagUntagged : AIcons.tag, size: size) : null; + } @override String get category => type; diff --git a/lib/model/filters/trash.dart b/lib/model/filters/trash.dart index 3957254b7..fc7b10325 100644 --- a/lib/model/filters/trash.dart +++ b/lib/model/filters/trash.dart @@ -41,7 +41,7 @@ class TrashFilter extends CollectionFilter { String getLabel(BuildContext context) => context.l10n.filterBinLabel; @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.bin, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(AIcons.bin, size: size); @override String get category => type; diff --git a/lib/model/filters/type.dart b/lib/model/filters/type.dart index 9b4e331e1..1299b484e 100644 --- a/lib/model/filters/type.dart +++ b/lib/model/filters/type.dart @@ -99,7 +99,7 @@ class TypeFilter extends CollectionFilter { } @override - Widget iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); + Widget? iconBuilder(BuildContext context, double size, {bool showGenericIcon = true}) => Icon(_icon, size: size); @override Future color(BuildContext context) { diff --git a/lib/view/src/actions/chip_set.dart b/lib/view/src/actions/chip_set.dart index 596c45e26..bf2ab7768 100644 --- a/lib/view/src/actions/chip_set.dart +++ b/lib/view/src/actions/chip_set.dart @@ -30,6 +30,7 @@ extension ExtraChipSetActionView on ChipSetAction { ChipSetAction.unpin => l10n.chipActionUnpin, ChipSetAction.lockVault => l10n.chipActionLock, ChipSetAction.showCountryStates => l10n.chipActionShowCountryStates, + ChipSetAction.showCollection => l10n.chipActionShowCollection, // selecting (single filter) ChipSetAction.rename => l10n.chipActionRename, ChipSetAction.setCover => l10n.chipActionSetCover, @@ -64,6 +65,7 @@ extension ExtraChipSetActionView on ChipSetAction { ChipSetAction.unpin => AIcons.unpin, ChipSetAction.lockVault => AIcons.vaultLock, ChipSetAction.showCountryStates => AIcons.state, + ChipSetAction.showCollection => AIcons.allCollection, // selecting (single filter) ChipSetAction.rename => AIcons.name, ChipSetAction.setCover => AIcons.setCover, diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index f274ae169..e92220699 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -385,7 +385,6 @@ class _AvesAppState extends State with WidgetsBindingObserver { case AppMode.pickSingleMediaExternal: case AppMode.pickMultipleMediaExternal: _saveTopEntries(); - break; default: break; } @@ -393,7 +392,6 @@ class _AvesAppState extends State with WidgetsBindingObserver { availability.onResume(); RecentlyAddedFilter.updateNow(); _mediaStoreSource.checkForChanges(); - break; default: break; } @@ -639,10 +637,8 @@ class _AvesAppState extends State with WidgetsBindingObserver { case AppMode.screenSaver: // we cannot modify brightness without access to the activity _screenBrightness = null; - break; default: _screenBrightness = ScreenBrightness(); - break; } } } diff --git a/lib/widgets/common/identity/aves_filter_chip.dart b/lib/widgets/common/identity/aves_filter_chip.dart index 84c353497..6cd848ca5 100644 --- a/lib/widgets/common/identity/aves_filter_chip.dart +++ b/lib/widgets/common/identity/aves_filter_chip.dart @@ -133,16 +133,12 @@ class AvesFilterChip extends StatefulWidget { switch (action) { case ChipAction.reverse: text = filter.reversed ? context.l10n.chipActionFilterIn : context.l10n.chipActionFilterOut; - break; case ChipAction.ratingOrGreater: text = RatingFilter.formatRatingRange(context, (filter as RatingFilter).rating, RatingFilter.opOrGreater); - break; case ChipAction.ratingOrLower: text = RatingFilter.formatRatingRange(context, (filter as RatingFilter).rating, RatingFilter.opOrLower); - break; default: text = action.getText(context); - break; } return PopupMenuItem( value: action, diff --git a/lib/widgets/editor/transform/cropper.dart b/lib/widgets/editor/transform/cropper.dart index df31cc44b..86447f735 100644 --- a/lib/widgets/editor/transform/cropper.dart +++ b/lib/widgets/editor/transform/cropper.dart @@ -414,10 +414,8 @@ class _CropperState extends State with SingleTickerProviderStateMixin { case TransformActivity.pan: case TransformActivity.resize: _gridDivisionNotifier.value = panResizeGridDivision; - break; case TransformActivity.straighten: _gridDivisionNotifier.value = straightenGridDivision; - break; } if (activity == TransformActivity.none) { _gridAnimationController.reverse(); @@ -452,12 +450,10 @@ class _CropperState extends State with SingleTickerProviderStateMixin { case ChangeSource.internal: case ChangeSource.animation: _setOutline(currentOutline); - break; case ChangeSource.gesture: // TODO TLAD [crop] use other strat _setOutline(_applyCropRatioToOutline(currentOutline, _RatioStrategy.contain)); _updateCropRegion(); - break; } } @@ -584,19 +580,15 @@ class _CropperState extends State with SingleTickerProviderStateMixin { case CropAspectRatio.original: longCoef = contentSize.longestSide.round(); shortCoef = contentSize.shortestSide.round(); - break; case CropAspectRatio.square: longCoef = 1; shortCoef = 1; - break; case CropAspectRatio.ar_16_9: longCoef = 16; shortCoef = 9; - break; case CropAspectRatio.ar_4_3: longCoef = 4; shortCoef = 3; - break; } final contentRect = Offset.zero & contentSize; diff --git a/lib/widgets/editor/transform/transformation.dart b/lib/widgets/editor/transform/transformation.dart index 455b62cb6..36644747c 100644 --- a/lib/widgets/editor/transform/transformation.dart +++ b/lib/widgets/editor/transform/transformation.dart @@ -49,27 +49,20 @@ class Transformation extends Equatable { break; case TransformOrientation.rotate90: matrix.rotateZ(math.pi / 2); - break; case TransformOrientation.rotate180: matrix.rotateZ(math.pi); - break; case TransformOrientation.rotate270: matrix.rotateZ(3 * math.pi / 2); - break; case TransformOrientation.transverse: matrix.scale(-1.0, 1.0, 1.0); matrix.rotateZ(-3 * math.pi / 2); - break; case TransformOrientation.flipVertical: matrix.scale(1.0, -1.0, 1.0); - break; case TransformOrientation.transpose: matrix.scale(-1.0, 1.0, 1.0); matrix.rotateZ(-1 * math.pi / 2); - break; case TransformOrientation.flipHorizontal: matrix.scale(-1.0, 1.0, 1.0); - break; } return matrix; } diff --git a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart index 4bfb43966..b622a5033 100644 --- a/lib/widgets/filter_grids/common/action_delegates/chip_set.dart +++ b/lib/widgets/filter_grids/common/action_delegates/chip_set.dart @@ -3,6 +3,7 @@ import 'package:aves/model/covers.dart'; import 'package:aves/model/entry/entry.dart'; import 'package:aves/model/filters/album.dart'; import 'package:aves/model/filters/filters.dart'; +import 'package:aves/model/filters/or.dart'; import 'package:aves/model/query.dart'; import 'package:aves/model/selection.dart'; import 'package:aves/model/settings/settings.dart'; @@ -13,6 +14,7 @@ import 'package:aves/theme/colors.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/themes.dart'; import 'package:aves/view/view.dart'; +import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/action_mixins/feedback.dart'; import 'package:aves/widgets/common/action_mixins/permission_aware.dart'; import 'package:aves/widgets/common/action_mixins/size_aware.dart'; @@ -99,9 +101,11 @@ abstract class ChipSetActionDelegate with FeedbackMi case ChipSetAction.hide: return isMain; case ChipSetAction.pin: - return !hasSelection || !settings.pinnedFilters.containsAll(selectedFilters); + return isMain && (!hasSelection || !settings.pinnedFilters.containsAll(selectedFilters)); case ChipSetAction.unpin: - return hasSelection && settings.pinnedFilters.containsAll(selectedFilters); + return isMain && (hasSelection && settings.pinnedFilters.containsAll(selectedFilters)); + case ChipSetAction.showCollection: + return appMode.canNavigate; case ChipSetAction.delete: case ChipSetAction.lockVault: case ChipSetAction.showCountryStates: @@ -149,6 +153,7 @@ abstract class ChipSetActionDelegate with FeedbackMi case ChipSetAction.unpin: case ChipSetAction.lockVault: case ChipSetAction.showCountryStates: + case ChipSetAction.showCollection: return hasSelection; // selecting (single filter) case ChipSetAction.rename: @@ -194,6 +199,8 @@ abstract class ChipSetActionDelegate with FeedbackMi case ChipSetAction.unpin: settings.pinnedFilters = settings.pinnedFilters..removeAll(getSelectedFilters(context)); browse(context); + case ChipSetAction.showCollection: + _goToCollection(context); case ChipSetAction.delete: case ChipSetAction.lockVault: case ChipSetAction.showCountryStates: @@ -251,6 +258,22 @@ abstract class ChipSetActionDelegate with FeedbackMi } } + Future _goToCollection(context) async { + final filters = getSelectedFilters(context); + if (filters.isEmpty) return; + + final filter = filters.length > 1 ? OrFilter(filters) : filters.first; + await Navigator.maybeOf(context)?.push( + MaterialPageRoute( + settings: const RouteSettings(name: CollectionPage.routeName), + builder: (context) => CollectionPage( + source: context.read(), + filters: {filter}, + ), + ), + ); + } + Future _goToMap(BuildContext context) async { final mapCollection = CollectionLens( source: context.read(), @@ -264,9 +287,9 @@ abstract class ChipSetActionDelegate with FeedbackMi ); } - void _goToSlideshow(BuildContext context) { + Future _goToSlideshow(BuildContext context) async { final entries = _selectedEntries(context).toList(); - Navigator.maybeOf(context)?.push( + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: SlideshowPage.routeName), builder: (context) { @@ -281,9 +304,9 @@ abstract class ChipSetActionDelegate with FeedbackMi ); } - void _goToStats(BuildContext context) { + Future _goToStats(BuildContext context) async { final entries = _selectedEntries(context).toSet(); - Navigator.maybeOf(context)?.push( + await Navigator.maybeOf(context)?.push( MaterialPageRoute( settings: const RouteSettings(name: StatsPage.routeName), builder: (context) { @@ -296,8 +319,8 @@ abstract class ChipSetActionDelegate with FeedbackMi ); } - void _goToSearch(BuildContext context) { - Navigator.maybeOf(context)?.push( + Future _goToSearch(BuildContext context) async { + await Navigator.maybeOf(context)?.push( SearchPageRoute( delegate: CollectionSearchDelegate( searchFieldLabel: context.l10n.searchCollectionFieldHint, diff --git a/lib/widgets/settings/common/collection_tile.dart b/lib/widgets/settings/common/collection_tile.dart index 3299c90e8..6543bd7b8 100644 --- a/lib/widgets/settings/common/collection_tile.dart +++ b/lib/widgets/settings/common/collection_tile.dart @@ -3,6 +3,7 @@ import 'package:aves/services/intent_service.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/collection/filter_bar.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; +import 'package:aves/widgets/common/identity/aves_caption.dart'; import 'package:flutter/material.dart'; class SettingsCollectionTile extends StatelessWidget { @@ -19,7 +20,6 @@ class SettingsCollectionTile extends StatelessWidget { Widget build(BuildContext context) { final l10n = context.l10n; final theme = Theme.of(context); - final textTheme = theme.textTheme; final hasSubtitle = filters.isEmpty; // size and padding to match `ListTile` @@ -39,13 +39,10 @@ class SettingsCollectionTile extends StatelessWidget { children: [ Text( l10n.settingsCollectionTile, - style: textTheme.titleMedium!, + // fallback to `ListTile` M3 default style + style: theme.listTileTheme.titleTextStyle ?? theme.textTheme.bodyLarge!.copyWith(color: theme.colorScheme.onSurface), ), - if (hasSubtitle) - Text( - l10n.drawerCollectionAll, - style: textTheme.bodyMedium!.copyWith(color: theme.colorScheme.onSurfaceVariant), - ), + if (hasSubtitle) AvesCaption(l10n.drawerCollectionAll), ], ), const Spacer(), diff --git a/plugins/aves_model/lib/src/actions/chip_set.dart b/plugins/aves_model/lib/src/actions/chip_set.dart index 6493ba2c5..491e241e5 100644 --- a/plugins/aves_model/lib/src/actions/chip_set.dart +++ b/plugins/aves_model/lib/src/actions/chip_set.dart @@ -20,6 +20,7 @@ enum ChipSetAction { unpin, lockVault, showCountryStates, + showCollection, // selecting (single filter) rename, setCover, @@ -57,6 +58,7 @@ class ChipSetActions { ChipSetAction.showCountryStates, ChipSetAction.hide, null, + ChipSetAction.showCollection, ChipSetAction.map, ChipSetAction.slideshow, ChipSetAction.stats, From 71e95ca3f7339d862c1d0238c3f9352dd676c437 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Thu, 30 May 2024 23:54:23 +0200 Subject: [PATCH 23/34] l10n by weblate (#1030) Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/be/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ca/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ckb/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/gl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/is/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ja/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/lt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/my/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ru/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sv/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/th/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/vi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hant/ Translation: Aves/App - Main Co-authored-by: Thibault Deckers Co-authored-by: gallegonovato --- lib/l10n/app_ar.arb | 4 +++- lib/l10n/app_be.arb | 4 +++- lib/l10n/app_ca.arb | 4 +++- lib/l10n/app_cs.arb | 4 +++- lib/l10n/app_de.arb | 4 +++- lib/l10n/app_el.arb | 4 +++- lib/l10n/app_es.arb | 4 +++- lib/l10n/app_eu.arb | 4 +++- lib/l10n/app_fa.arb | 4 +++- lib/l10n/app_fi.arb | 4 +++- lib/l10n/app_fr.arb | 4 +++- lib/l10n/app_gl.arb | 4 +++- lib/l10n/app_hu.arb | 4 +++- lib/l10n/app_id.arb | 4 +++- lib/l10n/app_is.arb | 4 +++- lib/l10n/app_it.arb | 4 +++- lib/l10n/app_ja.arb | 4 +++- lib/l10n/app_ko.arb | 4 +++- lib/l10n/app_lt.arb | 4 +++- lib/l10n/app_my.arb | 4 +++- lib/l10n/app_nb.arb | 4 +++- lib/l10n/app_nl.arb | 4 +++- lib/l10n/app_nn.arb | 4 +++- lib/l10n/app_pl.arb | 4 +++- lib/l10n/app_pt.arb | 4 +++- lib/l10n/app_ro.arb | 4 +++- lib/l10n/app_ru.arb | 4 +++- lib/l10n/app_sk.arb | 4 +++- lib/l10n/app_sv.arb | 4 +++- lib/l10n/app_th.arb | 4 +++- lib/l10n/app_tr.arb | 4 +++- lib/l10n/app_uk.arb | 4 +++- lib/l10n/app_vi.arb | 4 +++- lib/l10n/app_zh.arb | 4 +++- lib/l10n/app_zh_Hant.arb | 4 +++- 35 files changed, 105 insertions(+), 35 deletions(-) diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 85d981ad4..025a59a6a 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -1536,5 +1536,7 @@ "settingsForceWesternArabicNumeralsTile": "فرض الأرقام العربية", "@settingsForceWesternArabicNumeralsTile": {}, "renameProcessorHash": "تجزئة", - "@renameProcessorHash": {} + "@renameProcessorHash": {}, + "chipActionShowCollection": "عرض في المجموعة", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_be.arb b/lib/l10n/app_be.arb index 546b178b9..181c2f428 100644 --- a/lib/l10n/app_be.arb +++ b/lib/l10n/app_be.arb @@ -1536,5 +1536,7 @@ "renameProcessorHash": "Хэш", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "Прымусовыя арабскія лічбы", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "Паказаць ў Калекцыі", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_ca.arb b/lib/l10n/app_ca.arb index 6996d5f4d..32677eb23 100644 --- a/lib/l10n/app_ca.arb +++ b/lib/l10n/app_ca.arb @@ -1524,5 +1524,7 @@ "placeholders": { "count": {} } - } + }, + "chipActionShowCollection": "Mostrar a Coŀlecció", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index 486f87a17..d8b08617d 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -1532,5 +1532,7 @@ "videoRepeatActionSetEnd": "Nastavit konec", "@videoRepeatActionSetEnd": {}, "videoActionABRepeat": "Opakování A-B", - "@videoActionABRepeat": {} + "@videoActionABRepeat": {}, + "chipActionShowCollection": "Zobrazit ve sbírce", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index dae6b96f3..1e4ea37d3 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -1378,5 +1378,7 @@ "stopTooltip": "Stop", "@stopTooltip": {}, "videoRepeatActionSetEnd": "Ende festlegen", - "@videoRepeatActionSetEnd": {} + "@videoRepeatActionSetEnd": {}, + "chipActionShowCollection": "In Sammlung anzeigen", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_el.arb b/lib/l10n/app_el.arb index 9a6582e53..664acecf6 100644 --- a/lib/l10n/app_el.arb +++ b/lib/l10n/app_el.arb @@ -1338,5 +1338,7 @@ "overlayHistogramRGB": "RGB", "@overlayHistogramRGB": {}, "overlayHistogramLuminance": "Φωτεινότητα", - "@overlayHistogramLuminance": {} + "@overlayHistogramLuminance": {}, + "chipActionShowCollection": "Εμφάνιση στη Συλλογή", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 07ac2905a..94a36e8d2 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -1378,5 +1378,7 @@ "settingsForceWesternArabicNumeralsTile": "Forzar números arábigos", "@settingsForceWesternArabicNumeralsTile": {}, "renameProcessorHash": "Hash", - "@renameProcessorHash": {} + "@renameProcessorHash": {}, + "chipActionShowCollection": "Mostrar en Colección", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 5e6e43957..6b823d6a6 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -1536,5 +1536,7 @@ "videoActionABRepeat": "Atik Brako errepikapena", "@videoActionABRepeat": {}, "videoRepeatActionSetEnd": "Ezarri amaiera", - "@videoRepeatActionSetEnd": {} + "@videoRepeatActionSetEnd": {}, + "chipActionShowCollection": "Erakutsi bilduman", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index c4fefe00e..e82cac816 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -1536,5 +1536,7 @@ "placeholders": { "count": {} } - } + }, + "chipActionShowCollection": "نمایش در مجموعه", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_fi.arb b/lib/l10n/app_fi.arb index 6a17e95a4..f36e81669 100644 --- a/lib/l10n/app_fi.arb +++ b/lib/l10n/app_fi.arb @@ -300,5 +300,7 @@ "entryActionShareImageOnly": "Jaa vain kuva", "@entryActionShareImageOnly": {}, "filterNoDateLabel": "Päiväämätön", - "@filterNoDateLabel": {} + "@filterNoDateLabel": {}, + "chipActionShowCollection": "Näytä kokoelmassa", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 3a839e76f..f0e39d841 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -1378,5 +1378,7 @@ "renameProcessorHash": "Hash", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "Toujours utiliser les chiffres arabes", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "Afficher dans Collection", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_gl.arb b/lib/l10n/app_gl.arb index 41eb20070..966b77f1e 100644 --- a/lib/l10n/app_gl.arb +++ b/lib/l10n/app_gl.arb @@ -296,5 +296,7 @@ "mapStyleHuaweiTerrain": "Petal Maps (Terreo)", "@mapStyleHuaweiTerrain": {}, "mapStyleOsmHot": "Humanitarian OpenStreetMap Team", - "@mapStyleOsmHot": {} + "@mapStyleOsmHot": {}, + "chipActionShowCollection": "Mostrar na colección", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_hu.arb b/lib/l10n/app_hu.arb index 1c52f473a..173481f0e 100644 --- a/lib/l10n/app_hu.arb +++ b/lib/l10n/app_hu.arb @@ -1532,5 +1532,7 @@ "videoActionABRepeat": "A-B ismétlés", "@videoActionABRepeat": {}, "videoRepeatActionSetEnd": "Végpont beállítása", - "@videoRepeatActionSetEnd": {} + "@videoRepeatActionSetEnd": {}, + "chipActionShowCollection": "Megjelenítés a gyűjteményekben", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 96ee8805c..648a7a706 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -1378,5 +1378,7 @@ "settingsForceWesternArabicNumeralsTile": "Paksa angka Arab", "@settingsForceWesternArabicNumeralsTile": {}, "renameProcessorHash": "Hash", - "@renameProcessorHash": {} + "@renameProcessorHash": {}, + "chipActionShowCollection": "Tampilkan di Koleksi", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_is.arb b/lib/l10n/app_is.arb index dc646fc67..71c37c23c 100644 --- a/lib/l10n/app_is.arb +++ b/lib/l10n/app_is.arb @@ -1536,5 +1536,7 @@ "videoActionABRepeat": "Endurtekning A-B", "@videoActionABRepeat": {}, "videoRepeatActionSetEnd": "Stilla endi", - "@videoRepeatActionSetEnd": {} + "@videoRepeatActionSetEnd": {}, + "chipActionShowCollection": "Sýna í safni", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 0aeb6f075..cf2e89f18 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1374,5 +1374,7 @@ "collectionActionSetHome": "Imposta come pagina iniziale", "@collectionActionSetHome": {}, "setHomeCustomCollection": "Collezione personalizzata", - "@setHomeCustomCollection": {} + "@setHomeCustomCollection": {}, + "chipActionShowCollection": "Mostra nella Collezione", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index ac142d208..354a64625 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -1264,5 +1264,7 @@ "settingsVideoBackgroundModeDialogTitle": "バックグラウンド再生", "@settingsVideoBackgroundModeDialogTitle": {}, "maxBrightnessAlways": "常時有効", - "@maxBrightnessAlways": {} + "@maxBrightnessAlways": {}, + "chipActionShowCollection": "コレクションで表示", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index d7b44725c..5705a155d 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -1378,5 +1378,7 @@ "renameProcessorHash": "해시", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "아라비아 숫자 항상 사용", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "미디어 페이지에서 보기", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_lt.arb b/lib/l10n/app_lt.arb index 96f58ead1..6d53fa15f 100644 --- a/lib/l10n/app_lt.arb +++ b/lib/l10n/app_lt.arb @@ -1340,5 +1340,7 @@ "entryActionShareImageOnly": "Bendrinti tik paveikslėlį", "@entryActionShareImageOnly": {}, "entryInfoActionRemoveLocation": "Pašalinti vietą", - "@entryInfoActionRemoveLocation": {} + "@entryInfoActionRemoveLocation": {}, + "chipActionShowCollection": "Rodyti kolekcijoje", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_my.arb b/lib/l10n/app_my.arb index d30743527..27d367996 100644 --- a/lib/l10n/app_my.arb +++ b/lib/l10n/app_my.arb @@ -1296,5 +1296,7 @@ "settingsViewerShowHistogram": "Histogram ကို ပြရန်", "@settingsViewerShowHistogram": {}, "settingsVideoPlaybackTile": "ဖွင့်ကြည့်ခြင်း", - "@settingsVideoPlaybackTile": {} + "@settingsVideoPlaybackTile": {}, + "chipActionShowCollection": "စုစည်းမှုထဲမှာ ပြရန်", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_nb.arb b/lib/l10n/app_nb.arb index b01453526..2951ed1ac 100644 --- a/lib/l10n/app_nb.arb +++ b/lib/l10n/app_nb.arb @@ -1478,5 +1478,7 @@ "searchStatesSectionTitle": "Tilstander", "@searchStatesSectionTitle": {}, "vaultLockTypePattern": "Mønster", - "@vaultLockTypePattern": {} + "@vaultLockTypePattern": {}, + "chipActionShowCollection": "Vis i samling", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 9a06dd20b..3c24fed18 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -1274,5 +1274,7 @@ "videoResumptionModeAlways": "Altijd", "@videoResumptionModeAlways": {}, "exportEntryDialogWriteMetadata": "Schrijf metadata", - "@exportEntryDialogWriteMetadata": {} + "@exportEntryDialogWriteMetadata": {}, + "chipActionShowCollection": "Tonen in Collectie", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_nn.arb b/lib/l10n/app_nn.arb index b6bc62289..9f74b6576 100644 --- a/lib/l10n/app_nn.arb +++ b/lib/l10n/app_nn.arb @@ -1444,5 +1444,7 @@ "filterNoLocationLabel": "Ustadsette", "@filterNoLocationLabel": {}, "settingsNavigationSectionTitle": "Finn fram", - "@settingsNavigationSectionTitle": {} + "@settingsNavigationSectionTitle": {}, + "chipActionShowCollection": "Vis i Samling", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 28bcfa00b..5ab5253b2 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -1536,5 +1536,7 @@ "settingsForceWesternArabicNumeralsTile": "Wymuszaj cyfry arabskie", "@settingsForceWesternArabicNumeralsTile": {}, "renameProcessorHash": "Skrót", - "@renameProcessorHash": {} + "@renameProcessorHash": {}, + "chipActionShowCollection": "Pokaż w Kolekcji", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index ed629af6d..c4a462eaa 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -1374,5 +1374,7 @@ "stopTooltip": "Parar", "@stopTooltip": {}, "videoRepeatActionSetStart": "Definir início", - "@videoRepeatActionSetStart": {} + "@videoRepeatActionSetStart": {}, + "chipActionShowCollection": "Mostrar na Coleção", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 2a2ac24ed..96470a656 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -1536,5 +1536,7 @@ "videoRepeatActionSetStart": "Setează începutul", "@videoRepeatActionSetStart": {}, "videoRepeatActionSetEnd": "Setează sfârșitul", - "@videoRepeatActionSetEnd": {} + "@videoRepeatActionSetEnd": {}, + "chipActionShowCollection": "Afișați în colecție", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index a996f5aff..9424307c2 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -1378,5 +1378,7 @@ "renameProcessorHash": "Хэш", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "Принудительные арабские цифры", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "Показать в Коллекции", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index 2f9174937..28f294611 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -1524,5 +1524,7 @@ "setHomeCustomCollection": "Kolekcia na mieru", "@setHomeCustomCollection": {}, "settingsThumbnailShowHdrIcon": "Zobraziť ikonu HDR", - "@settingsThumbnailShowHdrIcon": {} + "@settingsThumbnailShowHdrIcon": {}, + "chipActionShowCollection": "Zobraziť v kolekcií", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_sv.arb b/lib/l10n/app_sv.arb index 735c3c44c..e1282e8a1 100644 --- a/lib/l10n/app_sv.arb +++ b/lib/l10n/app_sv.arb @@ -835,5 +835,7 @@ "filePickerUseThisFolder": "Använd den har mappen", "@filePickerUseThisFolder": {}, "chipActionUnpin": "Släpp från fästet", - "@chipActionUnpin": {} + "@chipActionUnpin": {}, + "chipActionShowCollection": "Visa i samling", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_th.arb b/lib/l10n/app_th.arb index 574bca11f..4ca6bf8b6 100644 --- a/lib/l10n/app_th.arb +++ b/lib/l10n/app_th.arb @@ -649,5 +649,7 @@ "description": "a list of unsupported types" } } - } + }, + "chipActionShowCollection": "แสดงคอลเลกชัน", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index 0458ec614..0ac680d5b 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -1378,5 +1378,7 @@ "settingsForceWesternArabicNumeralsTile": "Arap rakamlarını zorla", "@settingsForceWesternArabicNumeralsTile": {}, "renameProcessorHash": "Sağlama", - "@renameProcessorHash": {} + "@renameProcessorHash": {}, + "chipActionShowCollection": "Koleksiyonda göster", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index f119a3aa9..bd1bcf700 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1536,5 +1536,7 @@ "renameProcessorHash": "Хеш", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "Примусові арабські цифри", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "Показати у Колекції", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_vi.arb b/lib/l10n/app_vi.arb index 0e889f8b2..cc823dc07 100644 --- a/lib/l10n/app_vi.arb +++ b/lib/l10n/app_vi.arb @@ -1536,5 +1536,7 @@ "renameProcessorHash": "Băm", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "Buộc chữ số Ả Rập", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "Hiển thị trong Bộ sưu tập", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 02c6b39f9..7c2642985 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -1378,5 +1378,7 @@ "renameProcessorHash": "哈希", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "强制使用阿拉伯数字", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "在媒体集中显示", + "@chipActionShowCollection": {} } diff --git a/lib/l10n/app_zh_Hant.arb b/lib/l10n/app_zh_Hant.arb index dc2d7b0ab..d847d39e0 100644 --- a/lib/l10n/app_zh_Hant.arb +++ b/lib/l10n/app_zh_Hant.arb @@ -1536,5 +1536,7 @@ "renameProcessorHash": "雜湊", "@renameProcessorHash": {}, "settingsForceWesternArabicNumeralsTile": "強制使用阿拉伯數字", - "@settingsForceWesternArabicNumeralsTile": {} + "@settingsForceWesternArabicNumeralsTile": {}, + "chipActionShowCollection": "在收藏品中顯示", + "@chipActionShowCollection": {} } From dacb04c6bd10db1c2c876ab13980168e0de075d5 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 2 Jun 2024 00:01:24 +0200 Subject: [PATCH 24/34] upgrades --- lib/widgets/viewer/entry_viewer_stack.dart | 6 +- plugins/aves_map/pubspec.lock | 12 +++- plugins/aves_report_crashlytics/pubspec.lock | 16 ++--- plugins/aves_services/pubspec.lock | 12 +++- plugins/aves_services_google/pubspec.lock | 30 +++++---- plugins/aves_services_huawei/pubspec.lock | 12 +++- plugins/aves_services_none/pubspec.lock | 12 +++- plugins/aves_video_mpv/pubspec.lock | 8 +-- pubspec.lock | 68 +++++++++++--------- 9 files changed, 112 insertions(+), 64 deletions(-) diff --git a/lib/widgets/viewer/entry_viewer_stack.dart b/lib/widgets/viewer/entry_viewer_stack.dart index 17eef5b6c..afa511a45 100644 --- a/lib/widgets/viewer/entry_viewer_stack.dart +++ b/lib/widgets/viewer/entry_viewer_stack.dart @@ -248,7 +248,7 @@ class _EntryViewerStackState extends State with EntryViewContr return StreamBuilder( // as of floating v2.0.0, plugin assumes activity and fails when bound via service // so we do not access status stream directly, but check for support first - stream: device.supportPictureInPicture ? _floating.pipStatus$ : Stream.value(PiPStatus.disabled), + stream: device.supportPictureInPicture ? _floating.pipStatusStream : Stream.value(PiPStatus.disabled), builder: (context, snapshot) { var pipEnabled = snapshot.data == PiPStatus.enabled; return ValueListenableBuilder( @@ -931,10 +931,10 @@ class _EntryViewerStackState extends State with EntryViewContr ); try { - final status = await _floating.enable( + final status = await _floating.enable(EnableManual( aspectRatio: aspectRatio, sourceRectHint: sourceRectHint, - ); + )); await reportService.log('Enabled picture-in-picture with status=$status'); return status == PiPStatus.enabled; } on PlatformException catch (e, stack) { diff --git a/plugins/aves_map/pubspec.lock b/plugins/aves_map/pubspec.lock index ed26786c9..d6fd2d7b7 100644 --- a/plugins/aves_map/pubspec.lock +++ b/plugins/aves_map/pubspec.lock @@ -48,6 +48,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + dart_earcut: + dependency: transitive + description: + name: dart_earcut + sha256: "41b493147e30a051efb2da1e3acb7f38fe0db60afba24ac1ea5684cee272721e" + url: "https://pub.dev" + source: hosted + version: "1.1.0" equatable: dependency: "direct main" description: @@ -81,10 +89,10 @@ packages: dependency: "direct main" description: name: flutter_map - sha256: cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399 + sha256: ead3532d99548140346684cf737a4c0a6f59f02f62ee4e406597f8364afbf1a2 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" http: dependency: transitive description: diff --git a/plugins/aves_report_crashlytics/pubspec.lock b/plugins/aves_report_crashlytics/pubspec.lock index a0255f47d..068f20133 100644 --- a/plugins/aves_report_crashlytics/pubspec.lock +++ b/plugins/aves_report_crashlytics/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: e4be6711f96d3d4eebe79728897d645b7a5585bbfdd6d534878d202c171266d7 + sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" url: "https://pub.dev" source: hosted - version: "1.3.34" + version: "1.3.35" async: dependency: transitive description: @@ -68,10 +68,10 @@ packages: dependency: "direct main" description: name: firebase_core - sha256: "4b5100e2dbc3fe72c2d4241a046d3f01457fe11293283a324f5c52575e3406f8" + sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" url: "https://pub.dev" source: hosted - version: "2.31.1" + version: "2.32.0" firebase_core_platform_interface: dependency: transitive description: @@ -92,18 +92,18 @@ packages: dependency: "direct main" description: name: firebase_crashlytics - sha256: a67dd0c9fe65a3615c9239d189b0c6f4f2a76e17eb945c5a4b688dff8dd21f86 + sha256: "9897c01efaa950d2f6da8317d12452749a74dc45f33b46390a14cfe28067f271" url: "https://pub.dev" source: hosted - version: "3.5.6" + version: "3.5.7" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: fc31c00e24ef7b091da8dfd2e7c9dc205f8ca343f68825c15ac8d702e015aec9 + sha256: "16a71e08fbf6e00382816e1b13397898c29a54fa0ad969c2c2a3b82a704877f0" url: "https://pub.dev" source: hosted - version: "3.6.34" + version: "3.6.35" flutter: dependency: "direct main" description: flutter diff --git a/plugins/aves_services/pubspec.lock b/plugins/aves_services/pubspec.lock index 3ae56b80e..d9007cb8d 100644 --- a/plugins/aves_services/pubspec.lock +++ b/plugins/aves_services/pubspec.lock @@ -55,6 +55,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + dart_earcut: + dependency: transitive + description: + name: dart_earcut + sha256: "41b493147e30a051efb2da1e3acb7f38fe0db60afba24ac1ea5684cee272721e" + url: "https://pub.dev" + source: hosted + version: "1.1.0" equatable: dependency: transitive description: @@ -88,10 +96,10 @@ packages: dependency: transitive description: name: flutter_map - sha256: cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399 + sha256: ead3532d99548140346684cf737a4c0a6f59f02f62ee4e406597f8364afbf1a2 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" http: dependency: transitive description: diff --git a/plugins/aves_services_google/pubspec.lock b/plugins/aves_services_google/pubspec.lock index 3fafa19d7..23dbb1ffc 100644 --- a/plugins/aves_services_google/pubspec.lock +++ b/plugins/aves_services_google/pubspec.lock @@ -77,6 +77,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + dart_earcut: + dependency: transitive + description: + name: dart_earcut + sha256: "41b493147e30a051efb2da1e3acb7f38fe0db60afba24ac1ea5684cee272721e" + url: "https://pub.dev" + source: hosted + version: "1.1.0" device_info_plus: dependency: "direct main" description: @@ -142,18 +150,18 @@ packages: dependency: transitive description: name: flutter_map - sha256: cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399 + sha256: ead3532d99548140346684cf737a4c0a6f59f02f62ee4e406597f8364afbf1a2 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" + sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e url: "https://pub.dev" source: hosted - version: "2.0.19" + version: "2.0.20" flutter_web_plugins: dependency: transitive description: flutter @@ -203,26 +211,26 @@ packages: dependency: "direct main" description: name: google_maps_flutter_android - sha256: "0bcadb80eba39afda77dede89a6caafd3b68f2786b90491eceea4a01c3db181c" + sha256: bc85fd99ad763e2b81f2983df2f8a66fa90038175c31d1a157de5aac6444ed28 url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.8.1" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - sha256: e5132d17f051600d90d79d9f574b177c24231da702453a036db2490f9ced4646 + sha256: "244b3abc7cb611c4a5a2c5ce5a5f36a0d11bf5ccc3f05535d9baf61115ba9a5a" url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.6.1" google_maps_flutter_platform_interface: dependency: "direct main" description: name: google_maps_flutter_platform_interface - sha256: "167af879da4d004cd58771f1469b91dcc3b9b0a2c5334cc6bf71fd41d4b35403" + sha256: "2bf21aa97edba4461282af5de693b354e589d09f695f7a6f80437d084a29687e" url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.7.1" google_maps_flutter_web: dependency: transitive description: @@ -486,4 +494,4 @@ packages: version: "2.0.0" sdks: dart: ">=3.4.1 <4.0.0" - flutter: ">=3.19.0" + flutter: ">=3.22.0" diff --git a/plugins/aves_services_huawei/pubspec.lock b/plugins/aves_services_huawei/pubspec.lock index 64dc82a94..c9ff9cee7 100644 --- a/plugins/aves_services_huawei/pubspec.lock +++ b/plugins/aves_services_huawei/pubspec.lock @@ -76,6 +76,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + dart_earcut: + dependency: transitive + description: + name: dart_earcut + sha256: "41b493147e30a051efb2da1e3acb7f38fe0db60afba24ac1ea5684cee272721e" + url: "https://pub.dev" + source: hosted + version: "1.1.0" equatable: dependency: transitive description: @@ -109,10 +117,10 @@ packages: dependency: transitive description: name: flutter_map - sha256: cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399 + sha256: ead3532d99548140346684cf737a4c0a6f59f02f62ee4e406597f8364afbf1a2 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" http: dependency: transitive description: diff --git a/plugins/aves_services_none/pubspec.lock b/plugins/aves_services_none/pubspec.lock index dfb350d8f..719f2a1e2 100644 --- a/plugins/aves_services_none/pubspec.lock +++ b/plugins/aves_services_none/pubspec.lock @@ -62,6 +62,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + dart_earcut: + dependency: transitive + description: + name: dart_earcut + sha256: "41b493147e30a051efb2da1e3acb7f38fe0db60afba24ac1ea5684cee272721e" + url: "https://pub.dev" + source: hosted + version: "1.1.0" equatable: dependency: transitive description: @@ -95,10 +103,10 @@ packages: dependency: transitive description: name: flutter_map - sha256: cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399 + sha256: ead3532d99548140346684cf737a4c0a6f59f02f62ee4e406597f8364afbf1a2 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" http: dependency: transitive description: diff --git a/plugins/aves_video_mpv/pubspec.lock b/plugins/aves_video_mpv/pubspec.lock index 1817470d9..940269599 100644 --- a/plugins/aves_video_mpv/pubspec.lock +++ b/plugins/aves_video_mpv/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: archive - sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.6.0" + version: "3.6.1" args: dependency: transitive description: @@ -369,10 +369,10 @@ packages: dependency: transitive description: name: universal_platform - sha256: d315be0f6641898b280ffa34e2ddb14f3d12b1a37882557869646e0cc363d0cc + sha256: "64e16458a0ea9b99260ceb5467a214c1f298d647c659af1bff6d3bf82536b1ec" url: "https://pub.dev" source: hosted - version: "1.0.0+1" + version: "1.1.0" uri_parser: dependency: transitive description: diff --git a/pubspec.lock b/pubspec.lock index 01344843c..8cbee091a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: e4be6711f96d3d4eebe79728897d645b7a5585bbfdd6d534878d202c171266d7 + sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" url: "https://pub.dev" source: hosted - version: "1.3.34" + version: "1.3.35" analyzer: dependency: transitive description: @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: archive - sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.6.0" + version: "3.6.1" args: dependency: transitive description: @@ -270,6 +270,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + dart_earcut: + dependency: transitive + description: + name: dart_earcut + sha256: "41b493147e30a051efb2da1e3acb7f38fe0db60afba24ac1ea5684cee272721e" + url: "https://pub.dev" + source: hosted + version: "1.1.0" dbus: dependency: transitive description: @@ -388,10 +396,10 @@ packages: dependency: transitive description: name: firebase_core - sha256: "4b5100e2dbc3fe72c2d4241a046d3f01457fe11293283a324f5c52575e3406f8" + sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" url: "https://pub.dev" source: hosted - version: "2.31.1" + version: "2.32.0" firebase_core_platform_interface: dependency: transitive description: @@ -412,18 +420,18 @@ packages: dependency: transitive description: name: firebase_crashlytics - sha256: a67dd0c9fe65a3615c9239d189b0c6f4f2a76e17eb945c5a4b688dff8dd21f86 + sha256: "9897c01efaa950d2f6da8317d12452749a74dc45f33b46390a14cfe28067f271" url: "https://pub.dev" source: hosted - version: "3.5.6" + version: "3.5.7" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: fc31c00e24ef7b091da8dfd2e7c9dc205f8ca343f68825c15ac8d702e015aec9 + sha256: "16a71e08fbf6e00382816e1b13397898c29a54fa0ad969c2c2a3b82a704877f0" url: "https://pub.dev" source: hosted - version: "3.6.34" + version: "3.6.35" fixnum: dependency: transitive description: @@ -452,10 +460,10 @@ packages: dependency: "direct main" description: name: floating - sha256: "04c3c96909b94dd6d2d121c69707739825e1f3dceca5ae451a9b8c0e652d246b" + sha256: ddcd7f28247746dbb62997c48c89d1824118676796df47fdc6f864f8d02849bc url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "3.0.0" fluster: dependency: "direct main" description: @@ -524,10 +532,10 @@ packages: dependency: "direct main" description: name: flutter_map - sha256: cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399 + sha256: ead3532d99548140346684cf737a4c0a6f59f02f62ee4e406597f8364afbf1a2 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" flutter_markdown: dependency: "direct main" description: @@ -540,10 +548,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" + sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e url: "https://pub.dev" source: hosted - version: "2.0.19" + version: "2.0.20" flutter_staggered_animations: dependency: "direct main" description: @@ -635,26 +643,26 @@ packages: dependency: transitive description: name: google_maps_flutter_android - sha256: "0bcadb80eba39afda77dede89a6caafd3b68f2786b90491eceea4a01c3db181c" + sha256: bc85fd99ad763e2b81f2983df2f8a66fa90038175c31d1a157de5aac6444ed28 url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.8.1" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - sha256: e5132d17f051600d90d79d9f574b177c24231da702453a036db2490f9ced4646 + sha256: "244b3abc7cb611c4a5a2c5ce5a5f36a0d11bf5ccc3f05535d9baf61115ba9a5a" url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.6.1" google_maps_flutter_platform_interface: dependency: transitive description: name: google_maps_flutter_platform_interface - sha256: "167af879da4d004cd58771f1469b91dcc3b9b0a2c5334cc6bf71fd41d4b35403" + sha256: "2bf21aa97edba4461282af5de693b354e589d09f695f7a6f80437d084a29687e" url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.7.1" google_maps_flutter_web: dependency: transitive description: @@ -803,10 +811,10 @@ packages: dependency: transitive description: name: local_auth_android - sha256: e0e5b1ea247c5a0951c13a7ee13dc1beae69750e6a2e1910d1ed6a3cd4d56943 + sha256: "48dfb2d954da8ef6a77adfc93a29998f7729e9308eaa817e91dea4500317b2c8" url: "https://pub.dev" source: hosted - version: "1.0.38" + version: "1.0.39" local_auth_darwin: dependency: transitive description: @@ -1325,10 +1333,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" + sha256: "93d0ec9dd902d85f326068e6a899487d1f65ffcd5798721a95330b26c8131577" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.3" shared_preferences_foundation: dependency: transitive description: @@ -1579,10 +1587,10 @@ packages: dependency: transitive description: name: universal_platform - sha256: d315be0f6641898b280ffa34e2ddb14f3d12b1a37882557869646e0cc363d0cc + sha256: "64e16458a0ea9b99260ceb5467a214c1f298d647c659af1bff6d3bf82536b1ec" url: "https://pub.dev" source: hosted - version: "1.0.0+1" + version: "1.1.0" uri_parser: dependency: transitive description: @@ -1603,10 +1611,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" + sha256: ceb2625f0c24ade6ef6778d1de0b2e44f2db71fded235eb52295247feba8c5cf url: "https://pub.dev" source: hosted - version: "6.3.2" + version: "6.3.3" url_launcher_ios: dependency: transitive description: From 681f834e04fdeac2e1a178ef497b3deaa35efd6f Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 6 Jun 2024 22:28:15 +0200 Subject: [PATCH 25/34] provide stream size, fixes 1037 but regression with other files --- .../aves/channel/calls/DebugHandler.kt | 2 +- .../aves/channel/calls/EmbeddedDataHandler.kt | 4 ++-- .../aves/channel/calls/MetadataFetchHandler.kt | 18 +++++++++--------- .../thibault/aves/metadata/MultiPage.kt | 6 +++--- .../aves/metadata/metadataextractor/Helper.kt | 13 ++++++++----- .../deckers/thibault/aves/model/SourceEntry.kt | 2 +- 6 files changed, 24 insertions(+), 21 deletions(-) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt index fd36169d4..9f223655f 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt @@ -275,7 +275,7 @@ class DebugHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) metadataMap["mimeType"] = metadata.getDirectoriesOfType(FileTypeDirectory::class.java).joinToString { dir -> if (dir.containsTag(FileTypeDirectory.TAG_DETECTED_FILE_MIME_TYPE)) { dir.getString(FileTypeDirectory.TAG_DETECTED_FILE_MIME_TYPE) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/EmbeddedDataHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/EmbeddedDataHandler.kt index e46d31a46..a96f84e90 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/EmbeddedDataHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/EmbeddedDataHandler.kt @@ -102,7 +102,7 @@ class EmbeddedDataHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) // data can be large and stored in "Extended XMP", // which is returned as a second XMP directory val xmpDirs = metadata.getDirectoriesOfType(XmpDirectory::class.java) @@ -272,7 +272,7 @@ class EmbeddedDataHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) // data can be large and stored in "Extended XMP", // which is returned as a second XMP directory val xmpDirs = metadata.getDirectoriesOfType(XmpDirectory::class.java) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt index 8819f24ff..7719d796b 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt @@ -229,7 +229,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) foundExif = metadata.directories.any { it is ExifDirectoryBase && it.tagCount > 0 } foundMp4Uuid = metadata.directories.any { it is Mp4UuidBoxDirectory && it.tagCount > 0 } @@ -599,7 +599,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) foundExif = metadata.directories.any { it is ExifDirectoryBase && it.tagCount > 0 } foundMp4Uuid = metadata.directories.any { it is Mp4UuidBoxDirectory && it.tagCount > 0 } @@ -803,7 +803,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { } StorageUtils.openInputStream(context, uri)?.let { input -> input.skip(dataOffset) - val pageMetadata = Helper.safeRead(input) + val pageMetadata = Helper.safeRead(input, sizeBytes) if (pageMetadata.getDirectoriesOfType(XmpDirectory::class.java).any { it.xmpMeta.hasHdrGainMap() }) { return true } @@ -897,7 +897,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) for (dir in metadata.getDirectoriesOfType(ExifSubIFDDirectory::class.java)) { foundExif = true if (fields.contains(KEY_APERTURE)) { @@ -1007,7 +1007,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) val fields = HashMap() for (dir in metadata.getDirectoriesOfType(ExifIFD0Directory::class.java)) { if (dir.containsGeoTiffTags()) { @@ -1084,7 +1084,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType) && !isLargeMp4(mimeType, sizeBytes)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) metadata.getDirectoriesOfType(XmpDirectory::class.java).map { it.xmpMeta }.forEach { processXmp(it, allowMultiple = true) } @@ -1166,7 +1166,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType) && !isLargeMp4(mimeType, sizeBytes)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) metadata.getDirectoriesOfType(XmpDirectory::class.java).map { it.xmpMeta }.forEach { processXmp(it, allowMultiple = true) } @@ -1244,7 +1244,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) val tag = when (field) { ExifInterface.TAG_DATETIME -> ExifIFD0Directory.TAG_DATETIME ExifInterface.TAG_DATETIME_DIGITIZED -> ExifSubIFDDirectory.TAG_DATETIME_DIGITIZED @@ -1345,7 +1345,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) for (dir in metadata.getDirectoriesOfType(ExifDirectoryBase::class.java)) { foundExif = true val allTags = ExifInterfaceHelper.allTags diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/MultiPage.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/MultiPage.kt index 2a7d679ac..113562fee 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/MultiPage.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/MultiPage.kt @@ -97,7 +97,7 @@ object MultiPage { if (canReadWithMetadataExtractor(mimeType)) { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) foundExif = metadata.directories.any { it is ExifDirectoryBase && it.tagCount > 0 } for (dir in metadata.getDirectoriesOfType(ExifIFD0Directory::class.java)) { dir.getSafeInt(ExifDirectoryBase.TAG_ORIENTATION) { @@ -168,7 +168,7 @@ object MultiPage { val mimeType = MimeTypes.JPEG try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) return metadata.getDirectoriesOfType(MpEntryDirectory::class.java).map { it.entry } } } catch (e: Exception) { @@ -332,7 +332,7 @@ object MultiPage { try { Metadata.openSafeInputStream(context, uri, mimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) foundXmp = metadata.directories.any { it is XmpDirectory && it.tagCount > 0 } metadata.getDirectoriesOfType(XmpDirectory::class.java).map { it.xmpMeta }.forEach(::processXmp) } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt index 0d2608a06..1858962ae 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt @@ -29,6 +29,7 @@ import deckers.thibault.aves.metadata.GeoTiffKeys import deckers.thibault.aves.metadata.Metadata import deckers.thibault.aves.metadata.metadataextractor.mpf.MpfReader import deckers.thibault.aves.utils.LogUtils +import deckers.thibault.aves.utils.MemoryUtils import java.io.BufferedInputStream import java.io.IOException import java.io.InputStream @@ -68,9 +69,10 @@ object Helper { } @Throws(IOException::class, ImageProcessingException::class) - fun safeRead(input: InputStream): com.drew.metadata.Metadata { + fun safeRead(input: InputStream, sizeBytes: Long?): com.drew.metadata.Metadata { val inputStream = if (input is BufferedInputStream) input else BufferedInputStream(input) val fileType = FileTypeDetector.detectFileType(inputStream) + val streamLength = sizeBytes ?: SAFE_READ_STREAM_LENGTH val metadata = when (fileType) { FileType.Jpeg -> safeReadJpeg(inputStream) @@ -82,9 +84,9 @@ object Helper { FileType.Cr2, FileType.Nef, FileType.Orf, - FileType.Rw2 -> safeReadTiff(inputStream) + FileType.Rw2 -> safeReadTiff(inputStream, streamLength) - else -> ImageMetadataReader.readMetadata(inputStream, SAFE_READ_STREAM_LENGTH, fileType) + else -> ImageMetadataReader.readMetadata(inputStream, streamLength, fileType) } metadata.addDirectory(FileTypeDirectory(fileType)) @@ -115,10 +117,11 @@ object Helper { } @Throws(IOException::class, TiffProcessingException::class) - fun safeReadTiff(input: InputStream): com.drew.metadata.Metadata { - val reader = RandomAccessStreamReader(input, RandomAccessStreamReader.DEFAULT_CHUNK_LENGTH, SAFE_READ_STREAM_LENGTH) + fun safeReadTiff(input: InputStream, streamLength: Long): com.drew.metadata.Metadata { + val reader = RandomAccessStreamReader(input, RandomAccessStreamReader.DEFAULT_CHUNK_LENGTH, streamLength) val metadata = com.drew.metadata.Metadata() val handler = SafeExifTiffHandler(metadata, null, 0) + Log.d(LOG_TAG, "safeReadTiff: availableHeapSize=${MemoryUtils.getAvailableHeapSize()}") TiffReader().processTiff(reader, handler, 0) return metadata } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/model/SourceEntry.kt b/android/app/src/main/kotlin/deckers/thibault/aves/model/SourceEntry.kt index 3fbb68b33..d339fda96 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/model/SourceEntry.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/model/SourceEntry.kt @@ -163,7 +163,7 @@ class SourceEntry { try { Metadata.openSafeInputStream(context, uri, sourceMimeType, sizeBytes)?.use { input -> - val metadata = Helper.safeRead(input) + val metadata = Helper.safeRead(input, sizeBytes) // do not switch on specific MIME types, as the reported MIME type could be wrong // (e.g. PNG registered as JPG) From e19b20fb59d46147bba039a24496f3d85307d454 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Fri, 7 Jun 2024 00:27:51 +0200 Subject: [PATCH 26/34] upgraded Flutter to stable v3.22.2 --- .flutter | 2 +- CHANGELOG.md | 2 +- plugins/aves_report_crashlytics/pubspec.lock | 20 ++++----- plugins/aves_services_google/pubspec.lock | 16 +++---- pubspec.lock | 46 ++++++++++---------- pubspec.yaml | 2 +- shaders.sksl.json | 2 +- 7 files changed, 45 insertions(+), 45 deletions(-) diff --git a/.flutter b/.flutter index a14f74ff3..761747bfc 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit a14f74ff3a1cbd521163c5f03d68113d50af93d3 +Subproject commit 761747bfc538b5af34aa0d3fac380f1bc331ec49 diff --git a/CHANGELOG.md b/CHANGELOG.md index bfb2320f5..4793a0e9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ All notable changes to this project will be documented in this file. ### Changed - Screen saver: black background, consistent with slideshow -- upgraded Flutter to stable v3.22.1 +- upgraded Flutter to stable v3.22.2 ### Removed diff --git a/plugins/aves_report_crashlytics/pubspec.lock b/plugins/aves_report_crashlytics/pubspec.lock index 068f20133..1f2ba2161 100644 --- a/plugins/aves_report_crashlytics/pubspec.lock +++ b/plugins/aves_report_crashlytics/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" + sha256: "13e611501ef36044655852215b4f30aed81123654a4f55193d0051a0e8705658" url: "https://pub.dev" source: hosted - version: "1.3.35" + version: "1.3.36" async: dependency: transitive description: @@ -68,10 +68,10 @@ packages: dependency: "direct main" description: name: firebase_core - sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" + sha256: "0d436d29b16fd9844a098ece2a3ce75efc290e5fe0844d282c5e8987173b0d02" url: "https://pub.dev" source: hosted - version: "2.32.0" + version: "3.0.0" firebase_core_platform_interface: dependency: transitive description: @@ -84,26 +84,26 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" + sha256: "22fcb352744908224fc7be3caae254836099786acfe5df6e9fe901e9c2575a41" url: "https://pub.dev" source: hosted - version: "2.17.0" + version: "2.17.1" firebase_crashlytics: dependency: "direct main" description: name: firebase_crashlytics - sha256: "9897c01efaa950d2f6da8317d12452749a74dc45f33b46390a14cfe28067f271" + sha256: bc95715ae12f885a77a7f8d13eeee2e8cb3ea26c2b466c590f8cf4f5645a23b7 url: "https://pub.dev" source: hosted - version: "3.5.7" + version: "4.0.0" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "16a71e08fbf6e00382816e1b13397898c29a54fa0ad969c2c2a3b82a704877f0" + sha256: fdee44039a994250577179d792060ac9a0a211ee186e2ec59ef2007a138ba30f url: "https://pub.dev" source: hosted - version: "3.6.35" + version: "3.6.36" flutter: dependency: "direct main" description: flutter diff --git a/plugins/aves_services_google/pubspec.lock b/plugins/aves_services_google/pubspec.lock index 23dbb1ffc..87a4927f8 100644 --- a/plugins/aves_services_google/pubspec.lock +++ b/plugins/aves_services_google/pubspec.lock @@ -203,26 +203,26 @@ packages: dependency: "direct main" description: name: google_maps_flutter - sha256: c1972cbad779bc5346c49045f26ae45550a0958b1cbca5b524dd3c8954995d28 + sha256: acf0ec482d86b2ac55ade80597ce7f797a47971f5210ebfd030f0d58130e0a94 url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.7.0" google_maps_flutter_android: dependency: "direct main" description: name: google_maps_flutter_android - sha256: bc85fd99ad763e2b81f2983df2f8a66fa90038175c31d1a157de5aac6444ed28 + sha256: b9ddc35f8b55fd70a196e43a61594abce5c41bc0843ea078a97679a9791749fe url: "https://pub.dev" source: hosted - version: "2.8.1" + version: "2.9.0" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - sha256: "244b3abc7cb611c4a5a2c5ce5a5f36a0d11bf5ccc3f05535d9baf61115ba9a5a" + sha256: d2d63ae17297a5b045ec115572c5a86fa4e53bb6eceaa0c6d200ac5ca69bfca4 url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.7.0" google_maps_flutter_platform_interface: dependency: "direct main" description: @@ -235,10 +235,10 @@ packages: dependency: transitive description: name: google_maps_flutter_web - sha256: "0c0d5c723d94b295cf86dd1c45ff91d2ac1fff7c05ddca4f01bef9fa0a014690" + sha256: f3155c12119d8a5c2732fdf39ceb5cc095bc662059a03b4ea23294ecebe1d199 url: "https://pub.dev" source: hosted - version: "0.5.7" + version: "0.5.8" html: dependency: transitive description: diff --git a/pubspec.lock b/pubspec.lock index 8cbee091a..9229181ed 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" + sha256: "13e611501ef36044655852215b4f30aed81123654a4f55193d0051a0e8705658" url: "https://pub.dev" source: hosted - version: "1.3.35" + version: "1.3.36" analyzer: dependency: transitive description: @@ -396,10 +396,10 @@ packages: dependency: transitive description: name: firebase_core - sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" + sha256: "0d436d29b16fd9844a098ece2a3ce75efc290e5fe0844d282c5e8987173b0d02" url: "https://pub.dev" source: hosted - version: "2.32.0" + version: "3.0.0" firebase_core_platform_interface: dependency: transitive description: @@ -412,26 +412,26 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" + sha256: "22fcb352744908224fc7be3caae254836099786acfe5df6e9fe901e9c2575a41" url: "https://pub.dev" source: hosted - version: "2.17.0" + version: "2.17.1" firebase_crashlytics: dependency: transitive description: name: firebase_crashlytics - sha256: "9897c01efaa950d2f6da8317d12452749a74dc45f33b46390a14cfe28067f271" + sha256: bc95715ae12f885a77a7f8d13eeee2e8cb3ea26c2b466c590f8cf4f5645a23b7 url: "https://pub.dev" source: hosted - version: "3.5.7" + version: "4.0.0" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "16a71e08fbf6e00382816e1b13397898c29a54fa0ad969c2c2a3b82a704877f0" + sha256: fdee44039a994250577179d792060ac9a0a211ee186e2ec59ef2007a138ba30f url: "https://pub.dev" source: hosted - version: "3.6.35" + version: "3.6.36" fixnum: dependency: transitive description: @@ -635,26 +635,26 @@ packages: dependency: transitive description: name: google_maps_flutter - sha256: c1972cbad779bc5346c49045f26ae45550a0958b1cbca5b524dd3c8954995d28 + sha256: acf0ec482d86b2ac55ade80597ce7f797a47971f5210ebfd030f0d58130e0a94 url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.7.0" google_maps_flutter_android: dependency: transitive description: name: google_maps_flutter_android - sha256: bc85fd99ad763e2b81f2983df2f8a66fa90038175c31d1a157de5aac6444ed28 + sha256: b9ddc35f8b55fd70a196e43a61594abce5c41bc0843ea078a97679a9791749fe url: "https://pub.dev" source: hosted - version: "2.8.1" + version: "2.9.0" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - sha256: "244b3abc7cb611c4a5a2c5ce5a5f36a0d11bf5ccc3f05535d9baf61115ba9a5a" + sha256: d2d63ae17297a5b045ec115572c5a86fa4e53bb6eceaa0c6d200ac5ca69bfca4 url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.7.0" google_maps_flutter_platform_interface: dependency: transitive description: @@ -667,10 +667,10 @@ packages: dependency: transitive description: name: google_maps_flutter_web - sha256: "0c0d5c723d94b295cf86dd1c45ff91d2ac1fff7c05ddca4f01bef9fa0a014690" + sha256: f3155c12119d8a5c2732fdf39ceb5cc095bc662059a03b4ea23294ecebe1d199 url: "https://pub.dev" source: hosted - version: "0.5.7" + version: "0.5.8" highlight: dependency: transitive description: @@ -1133,10 +1133,10 @@ packages: dependency: transitive description: name: permission_handler_apple - sha256: e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662 + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 url: "https://pub.dev" source: hosted - version: "9.4.4" + version: "9.4.5" permission_handler_html: dependency: transitive description: @@ -1603,10 +1603,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.6" + version: "6.3.0" url_launcher_android: dependency: transitive description: @@ -1801,4 +1801,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.4.1 <4.0.0" - flutter: ">=3.22.1" + flutter: ">=3.22.2" diff --git a/pubspec.yaml b/pubspec.yaml index 6cabedf3b..9eae23c6c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,7 +13,7 @@ publish_to: none environment: # this project bundles Flutter SDK via `flutter_wrapper` # cf https://github.com/passsy/flutter_wrapper - flutter: 3.22.1 + flutter: 3.22.2 sdk: '>=3.4.1 <4.0.0' # use `scripts/apply_flavor_{flavor}.sh` to set the right dependencies for the flavor diff --git a/shaders.sksl.json b/shaders.sksl.json index bac78ecef..06e989114 100644 --- a/shaders.sksl.json +++ b/shaders.sksl.json @@ -1 +1 @@ -{"platform":"android","name":"SM G970N","engineRevision":"55eae6864b296dd9f43b2cc7577ec256e5c32a8d","data":{"AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAGsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCkucnJycjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAB7AgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEUDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzAueHksIHVjbGFtcF9TMV9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQAAAAQAAAAGQCBAMQAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAADsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAEAQCAAAAAVREEAQAAAAAQCDAAQQGAABAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAHwQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gTWF0cml4RWZmZWN0X1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAA6QAAAABYCTIUIE4AIAAAYAAAAAQAAAAAEART4FIEMEKMAAAAAMAAAAAAAAAAAABIADAAAAAIAAAAAAAIIDAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAPQUAAGNvbnN0IGludCBrRmlsbEJXX1MxX2MwID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxX2MwID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxX2MwID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBSZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBjb3ZlcmFnZTsKCWlmIChpbnQoMSkgPT0ga0ZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzFfYzApIAoJewoJCWNvdmVyYWdlID0gaGFsZihhbGwoZ3JlYXRlclRoYW4oZmxvYXQ0KHNrX0ZyYWdDb29yZC54eSwgdXJlY3RVbmlmb3JtX1MxX2MwLnp3KSwgZmxvYXQ0KHVyZWN0VW5pZm9ybV9TMV9jMC54eSwgc2tfRnJhZ0Nvb3JkLnh5KSkpKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gc2F0dXJhdGUoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzFfYzApKTsKCQloYWxmMiBkaXN0czIgPSAoZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3KSAtIDEuMDsKCQljb3ZlcmFnZSA9IGRpc3RzMi54ICogZGlzdHMyLnk7Cgl9CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCkgCgl7CgkJY292ZXJhZ2UgPSAxLjAgLSBjb3ZlcmFnZTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChjb3ZlcmFnZSkpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAMAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAADWAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"DAAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAADAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBoYWxmMyB2aW5TaGFkb3dQYXJhbXNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUlJlY3RTaGFkb3cKCWhhbGYzIHNoYWRvd1BhcmFtczsKCXNoYWRvd1BhcmFtcyA9IHZpblNoYWRvd1BhcmFtc19TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZCA9IGxlbmd0aChzaGFkb3dQYXJhbXMueHkpOwoJZmxvYXQyIHV2ID0gZmxvYXQyKHNoYWRvd1BhcmFtcy56ICogKDEuMCAtIGQpLCAwLjUpOwoJaGFsZiBmYWN0b3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS4wMDByLmE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGZhY3Rvcik7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADgAAAGluU2hhZG93UGFyYW1zAAAAAAAA","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABHAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABnZW9tU3Vic2V0AAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAB5AAAAAAYFRP5FIUAQAADQAAAABAAAAAAABAEMBTLG62KRAAAAAHAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAABJBQAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMykgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvdmVyYWdlX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOAAAAcmFkaWlfc2VsZWN0b3IAABkAAABjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzAAAAFQAAAGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZQAAAAcAAAByYWRpaV94AAcAAAByYWRpaV95AAQAAABza2V3GQAAAHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUAAAAFAAAAY29sb3IAAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAABQAAAAAAAACAAAAADYCAAIAAAAAWBRAAAABAAAAANAEIQCAAAAAAAAAAAAAUABQAAAAEAAAAAAAEEBQAAAA":"DAAAAExTS1N5AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzRfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIHBvc2l0aW9uLnh5MTsKCX0KfQoAAAAAAAAAzAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERldmljZVNwYWNlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX2RzdF9pbihEZXZpY2VTcGFjZV9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAA8AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXJFeHRlcm5hbE9FUyB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAIAEAAAABSGQUAGC2HJ2AAAAAAAIAEAAAABLBCABAAAAABAEGABBAMAAACAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAueSwgdWNsYW1wX1MxX2MwX2MwX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclkgPSBoYWxmKHN1YnNldENvb3JkLnkgLSBjbGFtcGVkQ29vcmQueSk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclkpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAATQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAEQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NoAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc180X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMCkgKiBwb3NpdGlvbi54eTE7Cgl9Cn0KAAAAADkDAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HWJAAAAAAAUAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1NKAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBwb3NpdGlvbiA9IHBvc2l0aW9uLnh5OwoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJdmNvdmVyYWdlX1MwID0gY292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAA3AEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAB4FJEIEKOAAAAAMAAAAAEAHQAACAAAAAAQCGPSVARQRJAAAAABQAAAAAAAAAAA4JAPAAACAAAAAAAAAB2AAAAAAACAAAAAEBSAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAA0iAAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwpjb25zdCBpbnQga0ZpbGxCV19TMl9jMCA9IDA7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxCV19TMl9jMCA9IDI7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxBQV9TMl9jMCA9IDM7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MyX2MwOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyX2MxOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMl9jMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgUmVjdF9TMl9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzJfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMl9jMC56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzJfYzAueHksIHNrX0ZyYWdDb29yZC54eSkpKSk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IHNhdHVyYXRlKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MyX2MwKSk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMl9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzJfYzApIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoaGFsZjQoY292ZXJhZ2UpKTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyX2MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMl9jMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMl9jMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyX2MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMl9jMChfc3JjKSwgQ2lyY3VsYXJSUmVjdF9TMl9jMShfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQmxlbmRfUzIob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRfUzI7Cgl9Cn0KAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAABsdAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMjsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQ2lyY3VsYXJSUmVjdF9TMihvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0X1MyOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABFAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAAAEAAAABSGQUAGC2HJ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACbAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAzAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gY2xhbXAoc3Vic2V0Q29vcmQueCwgdWNsYW1wX1MxX2MwLngsIHVjbGFtcF9TMV9jMC56KTsKCWNsYW1wZWRDb29yZC55ID0gc3Vic2V0Q29vcmQueTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAqQEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HWJQAAAAABEAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777A4QCQAAAAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1OaAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwppbiBmbG9hdDQgdGV4U3Vic2V0OwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpmbGF0IG91dCBmbG9hdDQgdnRleFN1YnNldF9TMDsKb3V0IGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDIgcG9zaXRpb24gPSBwb3NpdGlvbi54eTsKCXZsb2NhbENvb3JkX1MwID0gbG9jYWxDb29yZDsKCXZ0ZXhTdWJzZXRfUzAgPSB0ZXhTdWJzZXQ7Cgl2Y292ZXJhZ2VfUzAgPSBjb3ZlcmFnZTsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAAABWAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmZsYXQgaW4gZmxvYXQ0IHZ0ZXhTdWJzZXRfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglmbG9hdDQgc3Vic2V0OwoJc3Vic2V0ID0gdnRleFN1YnNldF9TMDsKCXRleENvb3JkID0gY2xhbXAodGV4Q29vcmQsIHN1YnNldC5MVCwgc3Vic2V0LlJCKTsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBoYWxmNCgxKSkpOwoJZmxvYXQgY292ZXJhZ2UgPSB2Y292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAACQAAAHRleFN1YnNldAAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAAJQAAAAAAAACAAAAADYCAAIAAAAACABKAYABAAAAAFAEEQCEAAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAA":"DAAAAExTS1MIAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwppbiBmbG9hdDIgcG9zaXRpb247CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzJfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAC0HQAAZmxvYXQ0IGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwOwpmbG9hdDQgZnJhZ0NvbG9yX1MxX2MwOwpmbG9hdCB1X2FscGhhX1MxX2MwOwpmbG9hdCB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfYmx1cl9TMV9jMDsKZmxvYXQgdV9yYWRpdXNfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzI7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzJfYzBfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMiwgdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzApLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MyX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MyX2MwX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGV2aWNlU3BhY2VfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMl9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfZHN0X2luKERldmljZVNwYWNlX1MyX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAABgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA4IAEAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAsB0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0IGR5MCA9IHVpbm5lclJlY3RfUzIuVCAtIHNrX0ZyYWdDb29yZC55OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChmbG9hdDIoZHh5MS54LCBtYXgoZHkwLCBkeHkxLnkpKSwgMC4wKTsKCWhhbGYgbGVmdEFscGhhID0gaGFsZihzYXR1cmF0ZShza19GcmFnQ29vcmQueCAtIHVpbm5lclJlY3RfUzIuTCkpOwoJaGFsZiBhbHBoYSA9IGxlZnRBbHBoYSAqIGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","AYTRVAADQAAAOAEARAFQJAABBADAAAILBYAACCYUQD777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7CmluIGhhbGYzIGluQ2xpcFBsYW5lOwppbiBoYWxmMyBpbklzZWN0UGxhbmU7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKb3V0IGhhbGYzIHZpbklzZWN0UGxhbmVfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5DbGlwUGxhbmVfUzAgPSBpbkNsaXBQbGFuZTsKCXZpbklzZWN0UGxhbmVfUzAgPSBpbklzZWN0UGxhbmU7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gdWxvY2FsTWF0cml4X1MwLnh6ICogaW5Qb3NpdGlvbiArIHVsb2NhbE1hdHJpeF9TMC55dzsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADdAwAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKaW4gaGFsZjMgdmluSXNlY3RQbGFuZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGYzIGNsaXBQbGFuZTsKCWNsaXBQbGFuZSA9IHZpbkNsaXBQbGFuZV9TMDsKCWhhbGYzIGlzZWN0UGxhbmU7Cglpc2VjdFBsYW5lID0gdmluSXNlY3RQbGFuZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGYgY2xpcCA9IGhhbGYoc2F0dXJhdGUoY2lyY2xlRWRnZS56ICogZG90KGNpcmNsZUVkZ2UueHksIGNsaXBQbGFuZS54eSkgKyBjbGlwUGxhbmUueikpOwoJY2xpcCAqPSBoYWxmKHNhdHVyYXRlKGNpcmNsZUVkZ2UueiAqIGRvdChjaXJjbGVFZGdlLnh5LCBpc2VjdFBsYW5lLnh5KSArIGlzZWN0UGxhbmUueikpOwoJZWRnZUFscGhhICo9IGNsaXA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlCwAAAGluQ2xpcFBsYW5lAAwAAABpbklzZWN0UGxhbmUAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUARTXZMUZ2AAAAAAAAAEAAAABSGQRRXRMEZ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDY7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfN19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAIQoAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAACkAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","DASAAAAAAAAAAAEAAFQAAIGAAEAOB77776PUEAIBAAAAAABAAAAAAABAMQAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAADYAQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB1Q29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApOwoJfQoJb3V0cHV0Q29sb3JfUzAgPSBvdXRwdXRDb2xvcl9TMCAqIHRleENvbG9yOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAACAAAEAAAABSGQUAGC2HJ2AAAAACAAAEAAAABLRAABAAAAABAEGABBAMAAQAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueCwgdWNsYW1wX1MxX2MwX2MwX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclggPSBoYWxmKHN1YnNldENvb3JkLnggLSBjbGFtcGVkQ29vcmQueCk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclgpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAAANAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAUAAAAAAAIIDA":"DAAAAExTS1PrAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzdfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc183X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAQAAAGgKAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMF9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MxOwp1bmlmb3JtIGhhbGYgdXJhbmdlX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSAoaGFsZjQoMS4wKSAtIG91dHB1dF9TMSkgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","EADQAAAAAEAAAAAUAABQAAQPAAABCFYMAAKAUEAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MyBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MyBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IGluUG9zaXRpb24ueHkwejsKfQoAAAAAAACXAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBmbG9hdDIgdkludFRleHR1cmVDb29yZHNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGlzdGFuY2VGaWVsZFBhdGgKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiB1diA9IHZUZXh0dXJlQ29vcmRzX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS5ycnJyOwoJfQoJaGFsZiBkaXN0YW5jZSA9IDcuOTY4NzUqKHRleENvbG9yLnIgLSAwLjUwMTk2MDc4NDMxKTsKCWhhbGYgYWZ3aWR0aDsKCWFmd2lkdGggPSBhYnMoMC42NSpoYWxmKGRGZHgodkludFRleHR1cmVDb29yZHNfUzAueCkpKTsKCWhhbGYgdmFsID0gc21vb3Roc3RlcCgtYWZ3aWR0aCwgYWZ3aWR0aCwgZGlzdGFuY2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCh2YWwpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAEBUEFLMJAIAAAQCI6KVAYAAAAAAAAAAAQAAAADEA2JT4HAIAAAADIIODXOJIBAAAGAAAAACAKAC5XEQEAAAAAEPF2SMAAAAAAAAIAAAADFUUGB3XUUAQAADAAAAAAABARO3SJCAAAAACGSZJWCAAAAAAAIAAAABSFBUEFLMJAIAAAAAAAAAEACUMVSTUFAEAAAAAIAAAABEFBSHSVIGAAAAAAAAAAACABKBAABAAAAAFAEEQCEAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAHQkAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgMWUtMDUsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglyZXR1cm4gaGFsZjQob3V0Q29sb3IpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIF9jb29yZHMpLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MxKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzEpICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IERpdGhlcl9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzZfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IGNvbG9yID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChfdG1wXzZfaW5Db2xvcik7CgloYWxmIHZhbHVlID0gTWF0cml4RWZmZWN0X1MxX2MxKF90bXBfNl9pbkNvbG9yLCBza19GcmFnQ29vcmQueHkpLncgLSAwLjU7CglyZXR1cm4gaGFsZjQoaGFsZjQoY2xhbXAoY29sb3IueHl6ICsgdmFsdWUgKiB1cmFuZ2VfUzEsIDAuMCwgY29sb3IudyksIGNvbG9yLncpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpdGhlcl9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAAAACAAAAAVQEAAQAAAAAQCDAAQQGAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAADAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IE1hdHJpeEVmZmVjdF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"DAAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADVAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQyIHRleENvb3JkOwoJdGV4Q29vcmQgPSB2bG9jYWxDb29yZF9TMDsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBvdXRwdXRDb2xvcl9TMCkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","CMRQCIAABBYAAAEIXBAAACDQMAABRAFAAAAAAAAAAAAAAAEABYAAAAEAAAAAAAEEBQAAAAA":"DAAAAExTS1MyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0MiBpbkVsbGlwc2VPZmZzZXQ7CmluIGZsb2F0NCBpbkVsbGlwc2VSYWRpaTsKb3V0IGZsb2F0MiB2RWxsaXBzZU9mZnNldHNfUzA7Cm91dCBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCXZFbGxpcHNlT2Zmc2V0c19TMCA9IGluRWxsaXBzZU9mZnNldDsKCXZFbGxpcHNlUmFkaWlfUzAgPSBpbkVsbGlwc2VSYWRpaTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAHIDAABpbiBmbG9hdDIgdkVsbGlwc2VPZmZzZXRzX1MwOwppbiBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiBvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHk7CglvZmZzZXQgKj0gdkVsbGlwc2VSYWRpaV9TMC54eTsKCWZsb2F0IHRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZmxvYXQyIGdyYWQgPSAyLjAqb2Zmc2V0KnZFbGxpcHNlUmFkaWlfUzAueHk7CglmbG9hdCBncmFkX2RvdCA9IGRvdChncmFkLCBncmFkKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjE3NTVlLTM4KTsKCWZsb2F0IGludmxlbiA9IGludmVyc2VzcXJ0KGdyYWRfZG90KTsKCWZsb2F0IGVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNS10ZXN0Kmludmxlbik7CglvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHkqdkVsbGlwc2VSYWRpaV9TMC56dzsKCXRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZ3JhZCA9IDIuMCpvZmZzZXQqdkVsbGlwc2VSYWRpaV9TMC56dzsKCWdyYWRfZG90ID0gZG90KGdyYWQsIGdyYWQpOwoJaW52bGVuID0gaW52ZXJzZXNxcnQoZ3JhZF9kb3QpOwoJZWRnZUFscGhhICo9IHNhdHVyYXRlKDAuNSt0ZXN0Kmludmxlbik7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoZWRnZUFscGhhKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpbkVsbGlwc2VPZmZzZXQADgAAAGluRWxsaXBzZVJhZGlpAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAUx0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMi5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMi5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAB4QA4AAAEAAAAAABIADAAAAAIAAAAAAAIID":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAOAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAGAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAAAAAA=","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAEAAAABQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAAAAxBsAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIwbAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAeBQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAAGFM37JKEAAAAAMAAAAAIAAAAAAAIBDAN25XWQUAAAAAAYAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAAJAeAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKY29uc3QgaW50IGtGaWxsQUFfUzJfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzJfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzJfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVjaXJjbGVfUzJfYzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjbGVfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMl9jMC54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MyX2MwLncpIC0gMS4wKSAqIHVjaXJjbGVfUzJfYzAueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzJfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMl9jMC53KSkgKiB1Y2lyY2xlX1MyX2MwLnopOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGludCgxKSA9PSBrRmlsbEFBX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCA/IHNhdHVyYXRlKGQpIDogaGFsZihkID4gMC41KSkpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoX3NyYywgQ2lyY2xlX1MyX2MwKF9zcmMpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAADIAAAAIH5K3LIKAAAAAAMAAAAAIAAAAAAGIZBQP3FQWAUAABQAAAAAAAAAAAAADUAAAAAAAEAAAAAIDEAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACoBAAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMSkgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA="}} \ No newline at end of file +{"platform":"android","name":"SM G970N","engineRevision":"edd8546116457bdf1c5bdfb13ecb9463d2bb5ed4","data":{"DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAqQEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAAGFM37JKEAAAAAMAAAAAIAAAAAAAIBDAN25XWQUAAAAAAYAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAAJAeAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKY29uc3QgaW50IGtGaWxsQUFfUzJfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzJfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzJfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVjaXJjbGVfUzJfYzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjbGVfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMl9jMC54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MyX2MwLncpIC0gMS4wKSAqIHVjaXJjbGVfUzJfYzAueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzJfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMl9jMC53KSkgKiB1Y2lyY2xlX1MyX2MwLnopOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGludCgxKSA9PSBrRmlsbEFBX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCA/IHNhdHVyYXRlKGQpIDogaGFsZihkID4gMC41KSkpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoX3NyYywgQ2lyY2xlX1MyX2MwKF9zcmMpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAA6QAAAABYCTIUIE4AIAAAYAAAAAQAAAAAEART4FIEMEKMAAAAAMAAAAAAAAAAAABIADAAAAAIAAAAAAAIIDAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAPQUAAGNvbnN0IGludCBrRmlsbEJXX1MxX2MwID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxX2MwID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxX2MwID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBSZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBjb3ZlcmFnZTsKCWlmIChpbnQoMSkgPT0ga0ZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzFfYzApIAoJewoJCWNvdmVyYWdlID0gaGFsZihhbGwoZ3JlYXRlclRoYW4oZmxvYXQ0KHNrX0ZyYWdDb29yZC54eSwgdXJlY3RVbmlmb3JtX1MxX2MwLnp3KSwgZmxvYXQ0KHVyZWN0VW5pZm9ybV9TMV9jMC54eSwgc2tfRnJhZ0Nvb3JkLnh5KSkpKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gc2F0dXJhdGUoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzFfYzApKTsKCQloYWxmMiBkaXN0czIgPSAoZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3KSAtIDEuMDsKCQljb3ZlcmFnZSA9IGRpc3RzMi54ICogZGlzdHMyLnk7Cgl9CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCkgCgl7CgkJY292ZXJhZ2UgPSAxLjAgLSBjb3ZlcmFnZTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChjb3ZlcmFnZSkpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAeBQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAUAAAAAAAIIDA":"DAAAAExTS1PrAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzdfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc183X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAQAAAGgKAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMF9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MxOwp1bmlmb3JtIGhhbGYgdXJhbmdlX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSAoaGFsZjQoMS4wKSAtIG91dHB1dF9TMSkgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","AYTRVAADQAAAOAEARAFQJAABBADAAAILBYAACCYUQD777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7CmluIGhhbGYzIGluQ2xpcFBsYW5lOwppbiBoYWxmMyBpbklzZWN0UGxhbmU7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKb3V0IGhhbGYzIHZpbklzZWN0UGxhbmVfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5DbGlwUGxhbmVfUzAgPSBpbkNsaXBQbGFuZTsKCXZpbklzZWN0UGxhbmVfUzAgPSBpbklzZWN0UGxhbmU7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gdWxvY2FsTWF0cml4X1MwLnh6ICogaW5Qb3NpdGlvbiArIHVsb2NhbE1hdHJpeF9TMC55dzsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADdAwAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKaW4gaGFsZjMgdmluSXNlY3RQbGFuZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGYzIGNsaXBQbGFuZTsKCWNsaXBQbGFuZSA9IHZpbkNsaXBQbGFuZV9TMDsKCWhhbGYzIGlzZWN0UGxhbmU7Cglpc2VjdFBsYW5lID0gdmluSXNlY3RQbGFuZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGYgY2xpcCA9IGhhbGYoc2F0dXJhdGUoY2lyY2xlRWRnZS56ICogZG90KGNpcmNsZUVkZ2UueHksIGNsaXBQbGFuZS54eSkgKyBjbGlwUGxhbmUueikpOwoJY2xpcCAqPSBoYWxmKHNhdHVyYXRlKGNpcmNsZUVkZ2UueiAqIGRvdChjaXJjbGVFZGdlLnh5LCBpc2VjdFBsYW5lLnh5KSArIGlzZWN0UGxhbmUueikpOwoJZWRnZUFscGhhICo9IGNsaXA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlCwAAAGluQ2xpcFBsYW5lAAwAAABpbklzZWN0UGxhbmUAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAAANAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAABsdAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMjsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQ2lyY3VsYXJSUmVjdF9TMihvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0X1MyOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAGAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAACAAAEAAAABSGQUAGC2HJ2AAAAACAAAEAAAABLRAABAAAAABAEGABBAMAAQAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueCwgdWNsYW1wX1MxX2MwX2MwX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclggPSBoYWxmKHN1YnNldENvb3JkLnggLSBjbGFtcGVkQ29vcmQueCk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclgpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAEAAAABQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAAAAAA=","HUJQAAAAABAAADAAAIOAAAH677777777777QGHAQAD7P7777A4QCAAAAAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1M1AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmluIGZsb2F0NCB0ZXhTdWJzZXQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmZsYXQgb3V0IGZsb2F0NCB2dGV4U3Vic2V0X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZsb2NhbENvb3JkX1MwID0gbG9jYWxDb29yZDsKCXZ0ZXhTdWJzZXRfUzAgPSB0ZXhTdWJzZXQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAAB4CAABzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKZmxhdCBpbiBmbG9hdDQgdnRleFN1YnNldF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglmbG9hdDQgc3Vic2V0OwoJc3Vic2V0ID0gdnRleFN1YnNldF9TMDsKCXRleENvb3JkID0gY2xhbXAodGV4Q29vcmQsIHN1YnNldC5MVCwgc3Vic2V0LlJCKTsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBoYWxmNCgxKSkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAACQAAAHRleFN1YnNldAAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAEBUEFLMJAIAAAQCI6KVAYAAAAAAAAAAAQAAAADEA2JT4HAIAAAADIIODXOJIBAAAGAAAAACAKAC5XEQEAAAAAEPF2SMAAAAAAAAIAAAADFUUGB3XUUAQAADAAAAAAABARO3SJCAAAAACGSZJWCAAAAAAAIAAAABSFBUEFLMJAIAAAAAAAAAEACUMVSTUFAEAAAAAIAAAABEFBSHSVIGAAAAAAAAAAACABKBAABAAAAAFAEEQCEAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAHQkAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgMWUtMDUsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglyZXR1cm4gaGFsZjQob3V0Q29sb3IpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIF9jb29yZHMpLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MxKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzEpICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IERpdGhlcl9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzZfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IGNvbG9yID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChfdG1wXzZfaW5Db2xvcik7CgloYWxmIHZhbHVlID0gTWF0cml4RWZmZWN0X1MxX2MxKF90bXBfNl9pbkNvbG9yLCBza19GcmFnQ29vcmQueHkpLncgLSAwLjU7CglyZXR1cm4gaGFsZjQoaGFsZjQoY2xhbXAoY29sb3IueHl6ICsgdmFsdWUgKiB1cmFuZ2VfUzEsIDAuMCwgY29sb3IudyksIGNvbG9yLncpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpdGhlcl9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAATQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAAAACAAAAAVQEAAQAAAAAQCDAAQQGAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAADAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IE1hdHJpeEVmZmVjdF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAUx0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMi5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMi5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfN19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAIQoAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HWJAAAAAAAUAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1NKAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBwb3NpdGlvbiA9IHBvc2l0aW9uLnh5OwoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJdmNvdmVyYWdlX1MwID0gY292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAA3AEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAAAAxBsAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAB4QA4AAAEAAAAAABIADAAAAAIAAAAAAAIID":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAOAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gY2xhbXAoc3Vic2V0Q29vcmQueCwgdWNsYW1wX1MxX2MwLngsIHVjbGFtcF9TMV9jMC56KTsKCWNsYW1wZWRDb29yZC55ID0gc3Vic2V0Q29vcmQueTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAB4FJEIEKOAAAAAMAAAAAEAHQAACAAAAAAQCGPSVARQRJAAAAABQAAAAAAAAAAA4JAPAAACAAAAAAAAAB2AAAAAAACAAAAAEBSAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAA0iAAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwpjb25zdCBpbnQga0ZpbGxCV19TMl9jMCA9IDA7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxCV19TMl9jMCA9IDI7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxBQV9TMl9jMCA9IDM7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MyX2MwOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyX2MxOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMl9jMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgUmVjdF9TMl9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzJfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMl9jMC56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzJfYzAueHksIHNrX0ZyYWdDb29yZC54eSkpKSk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IHNhdHVyYXRlKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MyX2MwKSk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMl9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzJfYzApIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoaGFsZjQoY292ZXJhZ2UpKTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyX2MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMl9jMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMl9jMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyX2MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMl9jMChfc3JjKSwgQ2lyY3VsYXJSUmVjdF9TMl9jMShfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQmxlbmRfUzIob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRfUzI7Cgl9Cn0KAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEUDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzAueHksIHVjbGFtcF9TMV9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAEQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAABgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAAAAAA=","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"DAAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAADAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBoYWxmMyB2aW5TaGFkb3dQYXJhbXNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUlJlY3RTaGFkb3cKCWhhbGYzIHNoYWRvd1BhcmFtczsKCXNoYWRvd1BhcmFtcyA9IHZpblNoYWRvd1BhcmFtc19TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZCA9IGxlbmd0aChzaGFkb3dQYXJhbXMueHkpOwoJZmxvYXQyIHV2ID0gZmxvYXQyKHNoYWRvd1BhcmFtcy56ICogKDEuMCAtIGQpLCAwLjUpOwoJaGFsZiBmYWN0b3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS4wMDByLmE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGZhY3Rvcik7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADgAAAGluU2hhZG93UGFyYW1zAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAADIAAAAIH5K3LIKAAAAAAMAAAAAIAAAAAAGIZBQP3FQWAUAABQAAAAAAAAAAAAADUAAAAAAAEAAAAAIDEAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACoBAAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMSkgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAIAEAAAABSGQUAGC2HJ2AAAAAAAIAEAAAABLBCABAAAAABAEGABBAMAAACAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAueSwgdWNsYW1wX1MxX2MwX2MwX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclkgPSBoYWxmKHN1YnNldENvb3JkLnkgLSBjbGFtcGVkQ29vcmQueSk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclkpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAACkAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAEAQCAAAAAVREEAQAAAAAQCDAAQQGAABAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAHwQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gTWF0cml4RWZmZWN0X1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAADWAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAABQAAAAAAAACAAAAADYCAAIAAAAAWBRAAAABAAAAANAEIQCAAAAAAAAAAAAAUABQAAAAEAAAAAAAEEBQAAAA":"DAAAAExTS1N5AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzRfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIHBvc2l0aW9uLnh5MTsKCX0KfQoAAAAAAAAAzAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERldmljZVNwYWNlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX2RzdF9pbihEZXZpY2VTcGFjZV9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAA8AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXJFeHRlcm5hbE9FUyB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABFAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACbAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAMAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HWJQAAAAABEAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777A4QCQAAAAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1OaAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwppbiBmbG9hdDQgdGV4U3Vic2V0OwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpmbGF0IG91dCBmbG9hdDQgdnRleFN1YnNldF9TMDsKb3V0IGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDIgcG9zaXRpb24gPSBwb3NpdGlvbi54eTsKCXZsb2NhbENvb3JkX1MwID0gbG9jYWxDb29yZDsKCXZ0ZXhTdWJzZXRfUzAgPSB0ZXhTdWJzZXQ7Cgl2Y292ZXJhZ2VfUzAgPSBjb3ZlcmFnZTsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAAABWAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmZsYXQgaW4gZmxvYXQ0IHZ0ZXhTdWJzZXRfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglmbG9hdDQgc3Vic2V0OwoJc3Vic2V0ID0gdnRleFN1YnNldF9TMDsKCXRleENvb3JkID0gY2xhbXAodGV4Q29vcmQsIHN1YnNldC5MVCwgc3Vic2V0LlJCKTsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBoYWxmNCgxKSkpOwoJZmxvYXQgY292ZXJhZ2UgPSB2Y292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAACQAAAHRleFN1YnNldAAAAAAAAAA=","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAB7AgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","EADQAAAAAEAAAAAUAABQAAQPAAABCFYMAAKAUEAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MyBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MyBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IGluUG9zaXRpb24ueHkwejsKfQoAAAAAAACXAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBmbG9hdDIgdkludFRleHR1cmVDb29yZHNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGlzdGFuY2VGaWVsZFBhdGgKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiB1diA9IHZUZXh0dXJlQ29vcmRzX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS5ycnJyOwoJfQoJaGFsZiBkaXN0YW5jZSA9IDcuOTY4NzUqKHRleENvbG9yLnIgLSAwLjUwMTk2MDc4NDMxKTsKCWhhbGYgYWZ3aWR0aDsKCWFmd2lkdGggPSBhYnMoMC42NSpoYWxmKGRGZHgodkludFRleHR1cmVDb29yZHNfUzAueCkpKTsKCWhhbGYgdmFsID0gc21vb3Roc3RlcCgtYWZ3aWR0aCwgYWZ3aWR0aCwgZGlzdGFuY2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCh2YWwpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NoAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc180X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMCkgKiBwb3NpdGlvbi54eTE7Cgl9Cn0KAAAAADkDAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUARTXZMUZ2AAAAAAAAAEAAAABSGQRRXRMEZ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDY7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQAAAAQAAAAGQCBAMQAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAADsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"DAAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADVAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQyIHRleENvb3JkOwoJdGV4Q29vcmQgPSB2bG9jYWxDb29yZF9TMDsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBvdXRwdXRDb2xvcl9TMCkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","DYBQAAAAAEAAAAAQAABQAAIOAAABCFYIAAKAUDAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"DAAAAExTS1N0AgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IG91dCBmbG9hdCB2VGV4SW5kZXhfUzA7Cm91dCBmbG9hdDIgdkludFRleHR1cmVDb29yZHNfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRBOFRleHQKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADbAgAAdW5pZm9ybSBoYWxmIHVEaXN0YW5jZUFkanVzdF9TMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGlzdGFuY2VGaWVsZEE4VGV4dAoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQyIHV2ID0gdlRleHR1cmVDb29yZHNfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdXYpLnJycnI7Cgl9CgloYWxmIGRpc3RhbmNlID0gNy45Njg3NSoodGV4Q29sb3IuciAtIDAuNTAxOTYwNzg0MzEpOwoJZGlzdGFuY2UgLT0gdURpc3RhbmNlQWRqdXN0X1MwOwoJaGFsZiBhZndpZHRoOwoJYWZ3aWR0aCA9IGFicygwLjY1KmhhbGYoZEZkeCh2SW50VGV4dHVyZUNvb3Jkc19TMC54KSkpOwoJaGFsZiB2YWwgPSBzbW9vdGhzdGVwKC1hZndpZHRoLCBhZndpZHRoLCBkaXN0YW5jZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KHZhbCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAB5AAAAAAYFRP5FIUAQAADQAAAABAAAAAAABAEMBTLG62KRAAAAAHAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAABJBQAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMykgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvdmVyYWdlX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOAAAAcmFkaWlfc2VsZWN0b3IAABkAAABjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzAAAAFQAAAGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZQAAAAcAAAByYWRpaV94AAcAAAByYWRpaV95AAQAAABza2V3GQAAAHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUAAAAFAAAAY29sb3IAAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAzAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAAJQAAAAAAAACAAAAADYCAAIAAAAACABKAYABAAAAAFAEEQCEAAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAA":"DAAAAExTS1MIAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwppbiBmbG9hdDIgcG9zaXRpb247CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzJfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAC0HQAAZmxvYXQ0IGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwOwpmbG9hdDQgZnJhZ0NvbG9yX1MxX2MwOwpmbG9hdCB1X2FscGhhX1MxX2MwOwpmbG9hdCB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfYmx1cl9TMV9jMDsKZmxvYXQgdV9yYWRpdXNfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzI7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzJfYzBfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMiwgdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzApLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MyX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MyX2MwX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGV2aWNlU3BhY2VfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMl9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfZHN0X2luKERldmljZVNwYWNlX1MyX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","DASAAAAAAAAAAAEAAFQAAIGAAEAOB77776PUEAIBAAAAAABAAAAAAABAMQAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAADYAQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB1Q29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApOwoJfQoJb3V0cHV0Q29sb3JfUzAgPSBvdXRwdXRDb2xvcl9TMCAqIHRleENvbG9yOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABHAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABnZW9tU3Vic2V0AAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAAAEAAAABSGQUAGC2HJ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAGsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCkucnJycjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","CMRQCIAABBYAAAEIXBAAACDQMAABRAFAAAAAAAAAAAAAAAEABYAAAAEAAAAAAAEEBQAAAAA":"DAAAAExTS1MyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0MiBpbkVsbGlwc2VPZmZzZXQ7CmluIGZsb2F0NCBpbkVsbGlwc2VSYWRpaTsKb3V0IGZsb2F0MiB2RWxsaXBzZU9mZnNldHNfUzA7Cm91dCBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCXZFbGxpcHNlT2Zmc2V0c19TMCA9IGluRWxsaXBzZU9mZnNldDsKCXZFbGxpcHNlUmFkaWlfUzAgPSBpbkVsbGlwc2VSYWRpaTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAHIDAABpbiBmbG9hdDIgdkVsbGlwc2VPZmZzZXRzX1MwOwppbiBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiBvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHk7CglvZmZzZXQgKj0gdkVsbGlwc2VSYWRpaV9TMC54eTsKCWZsb2F0IHRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZmxvYXQyIGdyYWQgPSAyLjAqb2Zmc2V0KnZFbGxpcHNlUmFkaWlfUzAueHk7CglmbG9hdCBncmFkX2RvdCA9IGRvdChncmFkLCBncmFkKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjE3NTVlLTM4KTsKCWZsb2F0IGludmxlbiA9IGludmVyc2VzcXJ0KGdyYWRfZG90KTsKCWZsb2F0IGVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNS10ZXN0Kmludmxlbik7CglvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHkqdkVsbGlwc2VSYWRpaV9TMC56dzsKCXRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZ3JhZCA9IDIuMCpvZmZzZXQqdkVsbGlwc2VSYWRpaV9TMC56dzsKCWdyYWRfZG90ID0gZG90KGdyYWQsIGdyYWQpOwoJaW52bGVuID0gaW52ZXJzZXNxcnQoZ3JhZF9kb3QpOwoJZWRnZUFscGhhICo9IHNhdHVyYXRlKDAuNSt0ZXN0Kmludmxlbik7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoZWRnZUFscGhhKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpbkVsbGlwc2VPZmZzZXQADgAAAGluRWxsaXBzZVJhZGlpAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIwbAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA4IAEAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAsB0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0IGR5MCA9IHVpbm5lclJlY3RfUzIuVCAtIHNrX0ZyYWdDb29yZC55OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChmbG9hdDIoZHh5MS54LCBtYXgoZHkwLCBkeHkxLnkpKSwgMC4wKTsKCWhhbGYgbGVmdEFscGhhID0gaGFsZihzYXR1cmF0ZShza19GcmFnQ29vcmQueCAtIHVpbm5lclJlY3RfUzIuTCkpOwoJaGFsZiBhbHBoYSA9IGxlZnRBbHBoYSAqIGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA"}} \ No newline at end of file From 1346e8867b41409851b5ff991185917a6e712af2 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 8 Jun 2024 01:53:10 +0200 Subject: [PATCH 27/34] #1037 use truncated preview when opening large DNG with metadata extractor --- .../aves/channel/calls/MetadataFetchHandler.kt | 2 +- .../deckers/thibault/aves/metadata/Metadata.kt | 4 +++- .../aves/metadata/metadataextractor/Helper.kt | 15 ++++++++------- .../deckers/thibault/aves/utils/MimeTypes.kt | 9 +++++---- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt index 7719d796b..06c64cd50 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataFetchHandler.kt @@ -296,7 +296,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler { byGeoTiff[false]?.map { exifTagMapper(it) }?.let { dirMap.putAll(it) } } - mimeType == MimeTypes.DNG -> { + mimeType == MimeTypes.DNG || mimeType == MimeTypes.DNG_ADOBE -> { // split DNG tags in their own directory val dngDirMap = metadataMap[DIR_DNG] ?: HashMap() metadataMap[DIR_DNG] = dngDirMap diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt index 4553b2c4f..4c578493b 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt @@ -120,7 +120,7 @@ object Metadata { return date.time + parseSubSecond(subSecond) } - // Opening large PSD/TIFF files yields an OOM (both with `metadata-extractor` v2.15.0 and `ExifInterface` v1.3.1), + // Opening some large files yields an OOM (both with `metadata-extractor` v2.15.0 and `ExifInterface` v1.3.1), // so we define an arbitrary threshold to avoid a crash on launch. // It is not clear whether it is because of the file itself or its metadata. private const val FILE_SIZE_MAX = 100 * (1 shl 20) // MB @@ -136,6 +136,8 @@ object Metadata { private fun getSafeUri(context: Context, uri: Uri, mimeType: String, sizeBytes: Long?): Uri { return when (mimeType) { // formats known to yield OOM for large files + MimeTypes.DNG, + MimeTypes.DNG_ADOBE, MimeTypes.HEIC, MimeTypes.HEIF, MimeTypes.MP4, diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt index 1858962ae..48bc3bdf5 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt @@ -60,19 +60,20 @@ object Helper { // e.g. "exif [...] 134 [...] 4578696600004949[...]" private val PNG_RAW_PROFILE_PATTERN = Regex("^\\n(.*?)\\n\\s*(\\d+)\\n(.*)", RegexOption.DOT_MATCHES_ALL) - // providing the stream length is risky, as it may crash if it is incorrect - private const val SAFE_READ_STREAM_LENGTH = -1L - fun readMimeType(input: InputStream): String? { val bufferedInputStream = if (input is BufferedInputStream) input else BufferedInputStream(input) return FileTypeDetector.detectFileType(bufferedInputStream).mimeType } @Throws(IOException::class, ImageProcessingException::class) - fun safeRead(input: InputStream, sizeBytes: Long?): com.drew.metadata.Metadata { + fun safeRead(input: InputStream, @Suppress("unused_parameter") sizeBytes: Long?): com.drew.metadata.Metadata { val inputStream = if (input is BufferedInputStream) input else BufferedInputStream(input) val fileType = FileTypeDetector.detectFileType(inputStream) - val streamLength = sizeBytes ?: SAFE_READ_STREAM_LENGTH + + // Providing the stream length is risky, as it may crash if it is incorrect. + // Not providing the stream length is also risky, as it may lead to OOM + // when `RandomAccessStreamReader` reads the entire stream to validate offsets. + val undefinedStreamLength = -1L val metadata = when (fileType) { FileType.Jpeg -> safeReadJpeg(inputStream) @@ -84,9 +85,9 @@ object Helper { FileType.Cr2, FileType.Nef, FileType.Orf, - FileType.Rw2 -> safeReadTiff(inputStream, streamLength) + FileType.Rw2 -> safeReadTiff(inputStream, undefinedStreamLength) - else -> ImageMetadataReader.readMetadata(inputStream, streamLength, fileType) + else -> ImageMetadataReader.readMetadata(inputStream, undefinedStreamLength, fileType) } metadata.addDirectory(FileTypeDirectory(fileType)) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt index 645fa47a1..1430472b0 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt @@ -28,7 +28,8 @@ object MimeTypes { private const val CR2 = "image/x-canon-cr2" private const val CRW = "image/x-canon-crw" private const val DCR = "image/x-kodak-dcr" - const val DNG = "image/x-adobe-dng" + const val DNG = "image/dng" + const val DNG_ADOBE = "image/x-adobe-dng" private const val ERF = "image/x-epson-erf" private const val K25 = "image/x-kodak-k25" private const val KDC = "image/x-kodak-kdc" @@ -71,7 +72,7 @@ object MimeTypes { fun isRaw(mimeType: String): Boolean { return when (mimeType) { - ARW, CR2, CRW, DCR, DNG, ERF, K25, KDC, MRW, NEF, NRW, ORF, PEF, RAF, RAW, RW2, SR2, SRF, SRW, X3F -> true + ARW, CR2, CRW, DCR, DNG, DNG_ADOBE, ERF, K25, KDC, MRW, NEF, NRW, ORF, PEF, RAF, RAW, RW2, SR2, SRF, SRW, X3F -> true else -> false } } @@ -142,7 +143,7 @@ object MimeTypes { return if (pageId != null && MultiPageImage.isSupported(mimeType)) { true } else when (mimeType) { - DNG, HEIC, HEIF, PNG, WEBP -> true + DNG, DNG_ADOBE, HEIC, HEIF, PNG, WEBP -> true else -> false } } @@ -151,7 +152,7 @@ object MimeTypes { // according to EXIF orientation when decoding images of known formats // but we need to rotate the decoded bitmap for the other formats fun needRotationAfterContentResolverThumbnail(mimeType: String) = when (mimeType) { - DNG, PNG -> true + DNG, DNG_ADOBE, PNG -> true else -> false } From da4a7ae38fe4e632a0eb5f092a34bf2457499c91 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 8 Jun 2024 18:49:39 +0200 Subject: [PATCH 28/34] fixed raw preview region decoding sample size --- CHANGELOG.md | 4 ++ .../channel/calls/fetchers/RegionFetcher.kt | 24 +++++++----- .../thibault/aves/metadata/Metadata.kt | 38 ++++++++----------- .../aves/metadata/metadataextractor/Helper.kt | 1 - .../deckers/thibault/aves/utils/MathUtils.kt | 9 +++++ .../aves/model/provider/ImageProviderTest.kt | 8 ++-- .../thibault/aves/utils/MathUtilsTest.kt | 17 +++++++++ 7 files changed, 64 insertions(+), 37 deletions(-) create mode 100644 android/app/src/main/kotlin/deckers/thibault/aves/utils/MathUtils.kt create mode 100644 android/app/src/test/kotlin/deckers/thibault/aves/utils/MathUtilsTest.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index 4793a0e9a..295400e2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ All notable changes to this project will be documented in this file. - support for Android KitKat (API 19) +### Fixed + +- crash when cataloguing large images + ## [v1.11.1] - 2024-05-03 ### Added diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/fetchers/RegionFetcher.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/fetchers/RegionFetcher.kt index 9d319e7db..b8f3c5740 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/fetchers/RegionFetcher.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/fetchers/RegionFetcher.kt @@ -14,10 +14,12 @@ import deckers.thibault.aves.decoder.MultiPageImage import deckers.thibault.aves.utils.BitmapRegionDecoderCompat import deckers.thibault.aves.utils.BitmapUtils.ARGB_8888_BYTE_SIZE import deckers.thibault.aves.utils.BitmapUtils.getBytes +import deckers.thibault.aves.utils.MathUtils import deckers.thibault.aves.utils.MemoryUtils import deckers.thibault.aves.utils.MimeTypes import deckers.thibault.aves.utils.StorageUtils import io.flutter.plugin.common.MethodChannel +import kotlin.math.max import kotlin.math.roundToInt // As of Android 14 (API 34), `BitmapRegionDecoder` documentation states @@ -60,10 +62,6 @@ class RegionFetcher internal constructor( return } - val options = BitmapFactory.Options().apply { - inSampleSize = sampleSize - } - var currentDecoderRef = lastDecoderRef if (currentDecoderRef != null && currentDecoderRef.uri != uri) { currentDecoderRef = null @@ -85,27 +83,35 @@ class RegionFetcher internal constructor( // with raw images, the known image size may not match the decoded image size // so we scale the requested region accordingly - val effectiveRect = if (imageWidth != decoder.width || imageHeight != decoder.height) { + var effectiveRect = regionRect + var effectiveSampleSize = sampleSize + + if (imageWidth != decoder.width || imageHeight != decoder.height) { val xf = decoder.width.toDouble() / imageWidth val yf = decoder.height.toDouble() / imageHeight - Rect( + effectiveRect = Rect( (regionRect.left * xf).roundToInt(), (regionRect.top * yf).roundToInt(), (regionRect.right * xf).roundToInt(), (regionRect.bottom * yf).roundToInt(), ) - } else { - regionRect + val factor = MathUtils.highestPowerOf2((1 / max(xf, yf)).roundToInt()) + if (factor > 1) { + effectiveSampleSize = max(1, effectiveSampleSize / factor) + } } // use `Long` as rect size could be unexpectedly large and go beyond `Int` max - val targetBitmapSizeBytes: Long = ARGB_8888_BYTE_SIZE.toLong() * effectiveRect.width() * effectiveRect.height() / sampleSize + val targetBitmapSizeBytes: Long = ARGB_8888_BYTE_SIZE.toLong() * effectiveRect.width() * effectiveRect.height() / effectiveSampleSize if (!MemoryUtils.canAllocate(targetBitmapSizeBytes)) { // decoding a region that large would yield an OOM when creating the bitmap result.error("fetch-large-region", "Region too large for uri=$uri regionRect=$regionRect", null) return } + val options = BitmapFactory.Options().apply { + inSampleSize = effectiveSampleSize + } val bitmap = decoder.decodeRegion(effectiveRect, options) if (bitmap != null) { result.success(bitmap.getBytes(MimeTypes.canHaveAlpha(mimeType), recycle = true)) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt index 4c578493b..04a21de0a 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/Metadata.kt @@ -134,32 +134,24 @@ object Metadata { private val previewFiles = HashMap() private fun getSafeUri(context: Context, uri: Uri, mimeType: String, sizeBytes: Long?): Uri { - return when (mimeType) { - // formats known to yield OOM for large files - MimeTypes.DNG, - MimeTypes.DNG_ADOBE, - MimeTypes.HEIC, - MimeTypes.HEIF, - MimeTypes.MP4, - MimeTypes.PSD_VND, - MimeTypes.PSD_X, - MimeTypes.TIFF -> { - if (isDangerouslyLarge(sizeBytes)) { - // make a preview from the beginning of the file, - // hoping the metadata is accessible in the copied chunk - var previewFile = previewFiles[uri] - if (previewFile == null) { - previewFile = createPreviewFile(context, uri) - previewFiles[uri] = previewFile - } - Uri.fromFile(previewFile) - } else { - // small enough to be safe as it is - uri + // formats known to yield OOM for large files + return if ((MimeTypes.isImage(mimeType) || mimeType == MimeTypes.MP4)) { + if (isDangerouslyLarge(sizeBytes)) { + // make a preview from the beginning of the file, + // hoping the metadata is accessible in the copied chunk + var previewFile = previewFiles[uri] + if (previewFile == null) { + previewFile = createPreviewFile(context, uri) + previewFiles[uri] = previewFile } + Uri.fromFile(previewFile) + } else { + // small enough to be safe as it is + uri } + } else { // *probably* safe - else -> uri + uri } } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt index 48bc3bdf5..36afac482 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt @@ -122,7 +122,6 @@ object Helper { val reader = RandomAccessStreamReader(input, RandomAccessStreamReader.DEFAULT_CHUNK_LENGTH, streamLength) val metadata = com.drew.metadata.Metadata() val handler = SafeExifTiffHandler(metadata, null, 0) - Log.d(LOG_TAG, "safeReadTiff: availableHeapSize=${MemoryUtils.getAvailableHeapSize()}") TiffReader().processTiff(reader, handler, 0) return metadata } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/MathUtils.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/MathUtils.kt new file mode 100644 index 000000000..7002c07f0 --- /dev/null +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/MathUtils.kt @@ -0,0 +1,9 @@ +package deckers.thibault.aves.utils + +import kotlin.math.log2 +import kotlin.math.pow + +object MathUtils { + fun highestPowerOf2(x: Int): Int = highestPowerOf2(x.toDouble()) + fun highestPowerOf2(x: Double): Int = if (x < 1) 0 else 2.toDouble().pow(log2(x).toInt()).toInt() +} \ No newline at end of file diff --git a/android/app/src/test/kotlin/deckers/thibault/aves/model/provider/ImageProviderTest.kt b/android/app/src/test/kotlin/deckers/thibault/aves/model/provider/ImageProviderTest.kt index 705503c62..14a126fef 100644 --- a/android/app/src/test/kotlin/deckers/thibault/aves/model/provider/ImageProviderTest.kt +++ b/android/app/src/test/kotlin/deckers/thibault/aves/model/provider/ImageProviderTest.kt @@ -10,9 +10,9 @@ class ImageProviderTest { @Test fun imageProvider_CorrectEmailSimple_ReturnsTrue() { val date = LocalDate.of(1990, Month.FEBRUARY, 11).toEpochDay() - assertEquals(ImageProvider.getTimeZoneString(TimeZone.getTimeZone("Europe/Paris"), date), "+01:00") - assertEquals(ImageProvider.getTimeZoneString(TimeZone.getTimeZone("UTC"), date), "+00:00") - assertEquals(ImageProvider.getTimeZoneString(TimeZone.getTimeZone("Asia/Kolkata"), date), "+05:30") - assertEquals(ImageProvider.getTimeZoneString(TimeZone.getTimeZone("America/Chicago"), date), "-06:00") + assertEquals("+01:00", ImageProvider.getTimeZoneString(TimeZone.getTimeZone("Europe/Paris"), date)) + assertEquals("+00:00", ImageProvider.getTimeZoneString(TimeZone.getTimeZone("UTC"), date)) + assertEquals("+05:30", ImageProvider.getTimeZoneString(TimeZone.getTimeZone("Asia/Kolkata"), date)) + assertEquals("-06:00", ImageProvider.getTimeZoneString(TimeZone.getTimeZone("America/Chicago"), date)) } } diff --git a/android/app/src/test/kotlin/deckers/thibault/aves/utils/MathUtilsTest.kt b/android/app/src/test/kotlin/deckers/thibault/aves/utils/MathUtilsTest.kt new file mode 100644 index 000000000..48382cca3 --- /dev/null +++ b/android/app/src/test/kotlin/deckers/thibault/aves/utils/MathUtilsTest.kt @@ -0,0 +1,17 @@ +package deckers.thibault.aves.utils + +import deckers.thibault.aves.utils.MathUtils.highestPowerOf2 +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Test + +class MathUtilsTest { + @Test + fun mathUtils_highestPowerOf2() { + assertEquals(1024, highestPowerOf2(1024)) + assertEquals(32, highestPowerOf2(42)) + assertEquals(0, highestPowerOf2(0)) + assertEquals(0, highestPowerOf2(-42)) + assertEquals(0, highestPowerOf2(.5)) + assertEquals(1, highestPowerOf2(1.5)) + } +} From 1578d2d944b5d3d6faab1b9aaed82cbc2c16d504 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 8 Jun 2024 20:05:14 +0200 Subject: [PATCH 29/34] #1041 allow shifting dates by seconds --- CHANGELOG.md | 1 + .../aves/channel/calls/MetadataEditHandler.kt | 4 +- .../aves/model/provider/ImageProvider.kt | 6 +-- .../entry/extensions/metadata_edition.dart | 2 +- lib/model/metadata/date_modifier.dart | 10 ++-- .../metadata/metadata_edit_service.dart | 2 +- .../entry_editors/edit_date_dialog.dart | 49 +++++++++++++------ 7 files changed, 46 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 295400e2d..045018670 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. ### Added - Albums / Countries / Tags: show selection in Collection +- allow shifting dates by seconds ### Changed diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt index 9d1704b27..36ac14ff2 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MetadataEditHandler.kt @@ -74,7 +74,7 @@ class MetadataEditHandler(private val contextWrapper: ContextWrapper) : MethodCa private fun editDate(call: MethodCall, result: MethodChannel.Result) { val dateMillis = call.argument("dateMillis")?.toLong() - val shiftMinutes = call.argument("shiftMinutes")?.toLong() + val shiftSeconds = call.argument("shiftSeconds")?.toLong() val fields = call.argument>("fields") val entryMap = call.argument("entry") if (entryMap == null || fields == null) { @@ -97,7 +97,7 @@ class MetadataEditHandler(private val contextWrapper: ContextWrapper) : MethodCa } val callback = MetadataOpCallback("editDate", entryMap, result) - provider.editDate(contextWrapper, path, uri, mimeType, dateMillis, shiftMinutes, fields, callback) + provider.editDate(contextWrapper, path, uri, mimeType, dateMillis, shiftSeconds, fields, callback) } private fun editMetadata(call: MethodCall, result: MethodChannel.Result) { diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt index cc54bd459..d406f12fd 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt @@ -1026,7 +1026,7 @@ abstract class ImageProvider { uri: Uri, mimeType: String, dateMillis: Long?, - shiftMinutes: Long?, + shiftSeconds: Long?, fields: List, callback: ImageOpCallback, ) { @@ -1057,9 +1057,9 @@ abstract class ImageProvider { } } - shiftMinutes != null -> { + shiftSeconds != null -> { // shift - val shiftMillis = shiftMinutes * 60000 + val shiftMillis = shiftSeconds * 1000 listOf( ExifInterface.TAG_DATETIME, ExifInterface.TAG_DATETIME_ORIGINAL, diff --git a/lib/model/entry/extensions/metadata_edition.dart b/lib/model/entry/extensions/metadata_edition.dart index 1a75e9fd3..6ad3b2dce 100644 --- a/lib/model/entry/extensions/metadata_edition.dart +++ b/lib/model/entry/extensions/metadata_edition.dart @@ -62,7 +62,7 @@ extension ExtraAvesEntryMetadataEdition on AvesEntry { final date = DateTime.tryParse(xmpDate); if (date != null) { // TODO TLAD [date] DateTime.tryParse converts to UTC time, losing the time zone offset - final shiftedDate = date.add(Duration(minutes: appliedModifier.shiftMinutes!)); + final shiftedDate = date.add(Duration(seconds: appliedModifier.shiftSeconds!)); editCreateDateXmp(descriptions, shiftedDate); } else { reportService.recordError('failed to parse XMP date=$xmpDate', null); diff --git a/lib/model/metadata/date_modifier.dart b/lib/model/metadata/date_modifier.dart index 4fd675122..b34a86e82 100644 --- a/lib/model/metadata/date_modifier.dart +++ b/lib/model/metadata/date_modifier.dart @@ -16,17 +16,17 @@ class DateModifier extends Equatable { final Set fields; final DateTime? setDateTime; final DateFieldSource? copyFieldSource; - final int? shiftMinutes; + final int? shiftSeconds; @override - List get props => [action, fields, setDateTime, copyFieldSource, shiftMinutes]; + List get props => [action, fields, setDateTime, copyFieldSource, shiftSeconds]; const DateModifier._private( this.action, { this.fields = const {}, this.setDateTime, this.copyFieldSource, - this.shiftMinutes, + this.shiftSeconds, }); factory DateModifier.setCustom(Set fields, DateTime dateTime) { @@ -41,8 +41,8 @@ class DateModifier extends Equatable { return const DateModifier._private(DateEditAction.extractFromTitle); } - factory DateModifier.shift(Set fields, int shiftMinutes) { - return DateModifier._private(DateEditAction.shift, fields: fields, shiftMinutes: shiftMinutes); + factory DateModifier.shift(Set fields, int shiftSeconds) { + return DateModifier._private(DateEditAction.shift, fields: fields, shiftSeconds: shiftSeconds); } factory DateModifier.remove(Set fields) { diff --git a/lib/services/metadata/metadata_edit_service.dart b/lib/services/metadata/metadata_edit_service.dart index 447a05085..d19d7dc06 100644 --- a/lib/services/metadata/metadata_edit_service.dart +++ b/lib/services/metadata/metadata_edit_service.dart @@ -64,7 +64,7 @@ class PlatformMetadataEditService implements MetadataEditService { final result = await _platform.invokeMethod('editDate', { 'entry': entry.toPlatformEntryMap(), 'dateMillis': modifier.setDateTime?.millisecondsSinceEpoch, - 'shiftMinutes': modifier.shiftMinutes, + 'shiftSeconds': modifier.shiftSeconds, 'fields': modifier.fields.where((v) => v.type == MetadataType.exif).map((v) => v.toPlatform).whereNotNull().toList(), }); if (result != null) return (result as Map).cast(); diff --git a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart index a9e157784..fa23a57eb 100644 --- a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart @@ -42,7 +42,7 @@ class _EditEntryDateDialogState extends State { DateFieldSource _copyFieldSource = DateFieldSource.fileModifiedDate; late AvesEntry _copyItemSource; late DateTime _customDateTime; - late ValueNotifier _shiftHour, _shiftMinute; + late ValueNotifier _shiftHour, _shiftMinute, _shiftSecond; late ValueNotifier _shiftSign; bool _showOptions = false; final Set _fields = {...DateModifier.writableFields}; @@ -50,12 +50,15 @@ class _EditEntryDateDialogState extends State { DateTime get copyItemDate => _copyItemSource.bestDate ?? DateTime.now(); + static const _positiveSign = '+'; + static const _negativeSign = '-'; + @override void initState() { super.initState(); _initCustom(); _initCopyItem(); - _initShift(minutesInHour); + _initShift(); _validate(); } @@ -64,6 +67,7 @@ class _EditEntryDateDialogState extends State { _isValidNotifier.dispose(); _shiftHour.dispose(); _shiftMinute.dispose(); + _shiftSecond.dispose(); _shiftSign.dispose(); super.dispose(); } @@ -76,11 +80,11 @@ class _EditEntryDateDialogState extends State { _copyItemSource = widget.entry; } - void _initShift(int initialMinutes) { - final abs = initialMinutes.abs(); - _shiftHour = ValueNotifier(abs ~/ minutesInHour); - _shiftMinute = ValueNotifier(abs % minutesInHour); - _shiftSign = ValueNotifier(initialMinutes.isNegative ? '-' : '+'); + void _initShift() { + _shiftHour = ValueNotifier(1); + _shiftMinute = ValueNotifier(0); + _shiftSecond = ValueNotifier(0); + _shiftSign = ValueNotifier(_positiveSign); } @override @@ -215,13 +219,15 @@ class _EditEntryDateDialogState extends State { Center(child: Text(l10n.durationDialogHours)), const SizedBox(width: 16), Center(child: Text(l10n.durationDialogMinutes)), + const SizedBox(width: 16), + Center(child: Text(l10n.durationDialogSeconds)), ], ), TableRow( children: [ WheelSelector( valueNotifier: _shiftSign, - values: const ['+', '-'], + values: const [_positiveSign, _negativeSign], textStyle: textStyle, textAlign: TextAlign.center, format: (v) => v, @@ -236,12 +242,9 @@ class _EditEntryDateDialogState extends State { format: timeComponentFormatter.format, ), ), - const Padding( - padding: EdgeInsets.only(bottom: 2), - child: Text( - ':', - style: textStyle, - ), + const Text( + ':', + style: textStyle, ), Align( alignment: Alignment.centerLeft, @@ -253,6 +256,20 @@ class _EditEntryDateDialogState extends State { format: timeComponentFormatter.format, ), ), + const Text( + ':', + style: textStyle, + ), + Align( + alignment: Alignment.centerLeft, + child: WheelSelector( + valueNotifier: _shiftSecond, + values: List.generate(secondsInMinute, (i) => i), + textStyle: textStyle, + textAlign: digitsAlign, + format: timeComponentFormatter.format, + ), + ), ], ) ], @@ -371,8 +388,8 @@ class _EditEntryDateDialogState extends State { case DateEditAction.extractFromTitle: return DateModifier.extractFromTitle(); case DateEditAction.shift: - final shiftTotalMinutes = (_shiftHour.value * minutesInHour + _shiftMinute.value) * (_shiftSign.value == '+' ? 1 : -1); - return DateModifier.shift(_fields, shiftTotalMinutes); + final shiftTotalSeconds = ((_shiftHour.value * minutesInHour + _shiftMinute.value) * secondsInMinute + _shiftSecond.value) * (_shiftSign.value == _positiveSign ? 1 : -1); + return DateModifier.shift(_fields, shiftTotalSeconds); case DateEditAction.remove: return DateModifier.remove(_fields); } From 27cf1bf4aae296df6ce79aa3375904dbbc114d4b Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 9 Jun 2024 00:37:30 +0200 Subject: [PATCH 30/34] #1008 opening app from launcher shows home page only when exited by back button --- CHANGELOG.md | 1 + .../deckers/thibault/aves/MainActivity.kt | 9 +- lib/widgets/aves_app.dart | 174 ++++++++++-------- lib/widgets/common/behaviour/pop/scope.dart | 5 + 4 files changed, 108 insertions(+), 81 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 045018670..fee5b9fa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file. ### Changed +- opening app from launcher shows home page only when exited by back button - Screen saver: black background, consistent with slideshow - upgraded Flutter to stable v3.22.2 diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt index c6858f552..5c4903840 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt @@ -285,10 +285,10 @@ open class MainActivity : FlutterFragmentActivity() { open fun extractIntentData(intent: Intent?): FieldMap { when (val action = intent?.action) { Intent.ACTION_MAIN -> { - val fields = hashMapOf( - INTENT_DATA_KEY_LAUNCHER to intent.hasCategory(Intent.CATEGORY_LAUNCHER), - INTENT_DATA_KEY_SAFE_MODE to intent.getBooleanExtra(EXTRA_KEY_SAFE_MODE, false), - ) + val fields = HashMap() + if (intent.getBooleanExtra(EXTRA_KEY_SAFE_MODE, false)) { + fields[INTENT_DATA_KEY_SAFE_MODE] = true + } intent.getStringExtra(EXTRA_KEY_PAGE)?.let { page -> val filters = extractFiltersFromIntent(intent) fields[INTENT_DATA_KEY_PAGE] = page @@ -497,7 +497,6 @@ open class MainActivity : FlutterFragmentActivity() { const val INTENT_DATA_KEY_ACTION = "action" const val INTENT_DATA_KEY_ALLOW_MULTIPLE = "allowMultiple" const val INTENT_DATA_KEY_FILTERS = "filters" - const val INTENT_DATA_KEY_LAUNCHER = "launcher" const val INTENT_DATA_KEY_MIME_TYPE = "mimeType" const val INTENT_DATA_KEY_PAGE = "page" const val INTENT_DATA_KEY_QUERY = "query" diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index e92220699..9b1ac3a71 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -26,6 +26,7 @@ import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/collection/collection_grid.dart'; import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/basic/scaffold.dart'; +import 'package:aves/widgets/common/behaviour/pop/scope.dart'; import 'package:aves/widgets/common/behaviour/route_tracker.dart'; import 'package:aves/widgets/common/behaviour/routes.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; @@ -178,6 +179,7 @@ class _AvesAppState extends State with WidgetsBindingObserver { static const defaultPageTransitionsBuilder = FadeUpwardsPageTransitionsBuilder(); static final GlobalKey _navigatorKey = GlobalKey(debugLabel: 'app-navigator'); static ScreenBrightness? _screenBrightness; + static bool _exitedMainByPop = false; @override void initState() { @@ -224,83 +226,91 @@ class _AvesAppState extends State with WidgetsBindingObserver { DurationsProvider(), HighlightInfoProvider(), ], - child: OverlaySupport( - child: FutureBuilder( - future: _appSetup, - builder: (context, snapshot) { - final initialized = !snapshot.hasError && snapshot.connectionState == ConnectionState.done; - if (initialized) { - AvesApp.showSystemUI(); - } - final home = initialized - ? _getFirstPage(intentData: widget.debugIntentData) - : AvesScaffold( - body: snapshot.hasError ? _buildError(snapshot.error!) : const SizedBox(), - ); - return Selector( - selector: (context, s) => ( - s.locale, - s.initialized ? s.themeBrightness : SettingsDefaults.themeBrightness, - s.initialized ? s.enableDynamicColor : SettingsDefaults.enableDynamicColor, - ), - builder: (context, s, child) { - final (settingsLocale, themeBrightness, enableDynamicColor) = s; - return DynamicColorBuilder( - builder: (lightScheme, darkScheme) { - const defaultAccent = AvesColorsData.defaultAccent; - Color lightAccent = defaultAccent, darkAccent = defaultAccent; - if (enableDynamicColor) { - lightAccent = lightScheme?.primary ?? lightAccent; - darkAccent = darkScheme?.primary ?? darkAccent; - } - final lightTheme = Themes.lightTheme(lightAccent, initialized); - final darkTheme = themeBrightness == AvesThemeBrightness.black ? Themes.blackTheme(darkAccent, initialized) : Themes.darkTheme(darkAccent, initialized); - return Shortcuts( - shortcuts: { - // handle Android TV remote `select` button (KEYCODE_DPAD_CENTER) - // the following keys are already handled by default: - // KEYCODE_ENTER, KEYCODE_BUTTON_A, KEYCODE_NUMPAD_ENTER - LogicalKeySet(LogicalKeyboardKey.select): const ActivateIntent(), - }, - child: Builder( - builder: (context) { - return MediaQuery( - data: MediaQuery.of(context).copyWith( - // disable accessible navigation, as it impacts snack bar action timer - // for all users of apps registered as accessibility services, - // even though they are not for accessibility purposes (like TalkBack is) - accessibleNavigation: false, - ), - child: MaterialApp( - navigatorKey: _navigatorKey, - home: home, - navigatorObservers: _navigatorObservers, - builder: (context, child) => _decorateAppChild( - context: context, - initialized: initialized, - child: child, - ), - onGenerateTitle: (context) => context.l10n.appName, - theme: lightTheme, - darkTheme: darkTheme, - themeMode: themeBrightness.appThemeMode, - locale: settingsLocale, - localizationsDelegates: const [ - ...AppLocalizations.localizationsDelegates, - ...LocalizationsNn.delegates, - ], - supportedLocales: AvesApp.supportedLocales, - scrollBehavior: AvesScrollBehavior(), - ), - ); - }, - ), + child: NotificationListener( + onNotification: (notification) { + if (_appModeNotifier.value == AppMode.main) { + _exitedMainByPop = true; + } + return true; + }, + child: OverlaySupport( + child: FutureBuilder( + future: _appSetup, + builder: (context, snapshot) { + final initialized = !snapshot.hasError && snapshot.connectionState == ConnectionState.done; + if (initialized) { + AvesApp.showSystemUI(); + } + final home = initialized + ? _getFirstPage(intentData: widget.debugIntentData) + : AvesScaffold( + body: snapshot.hasError ? _buildError(snapshot.error!) : const SizedBox(), ); - }, - ); - }, - ); - }, + return Selector( + selector: (context, s) => ( + s.locale, + s.initialized ? s.themeBrightness : SettingsDefaults.themeBrightness, + s.initialized ? s.enableDynamicColor : SettingsDefaults.enableDynamicColor, + ), + builder: (context, s, child) { + final (settingsLocale, themeBrightness, enableDynamicColor) = s; + return DynamicColorBuilder( + builder: (lightScheme, darkScheme) { + const defaultAccent = AvesColorsData.defaultAccent; + Color lightAccent = defaultAccent, darkAccent = defaultAccent; + if (enableDynamicColor) { + lightAccent = lightScheme?.primary ?? lightAccent; + darkAccent = darkScheme?.primary ?? darkAccent; + } + final lightTheme = Themes.lightTheme(lightAccent, initialized); + final darkTheme = themeBrightness == AvesThemeBrightness.black ? Themes.blackTheme(darkAccent, initialized) : Themes.darkTheme(darkAccent, initialized); + return Shortcuts( + shortcuts: { + // handle Android TV remote `select` button (KEYCODE_DPAD_CENTER) + // the following keys are already handled by default: + // KEYCODE_ENTER, KEYCODE_BUTTON_A, KEYCODE_NUMPAD_ENTER + LogicalKeySet(LogicalKeyboardKey.select): const ActivateIntent(), + }, + child: Builder( + builder: (context) { + return MediaQuery( + data: MediaQuery.of(context).copyWith( + // disable accessible navigation, as it impacts snack bar action timer + // for all users of apps registered as accessibility services, + // even though they are not for accessibility purposes (like TalkBack is) + accessibleNavigation: false, + ), + child: MaterialApp( + navigatorKey: _navigatorKey, + home: home, + navigatorObservers: _navigatorObservers, + builder: (context, child) => _decorateAppChild( + context: context, + initialized: initialized, + child: child, + ), + onGenerateTitle: (context) => context.l10n.appName, + theme: lightTheme, + darkTheme: darkTheme, + themeMode: themeBrightness.appThemeMode, + locale: settingsLocale, + localizationsDelegates: const [ + ...AppLocalizations.localizationsDelegates, + ...LocalizationsNn.delegates, + ], + supportedLocales: AvesApp.supportedLocales, + scrollBehavior: AvesScrollBehavior(), + ), + ); + }, + ), + ); + }, + ); + }, + ); + }, + ), ), ), ); @@ -615,6 +625,18 @@ class _AvesAppState extends State with WidgetsBindingObserver { void _onNewIntent(Map? intentData) { reportService.log('New intent data=$intentData'); + + if (_appModeNotifier.value == AppMode.main) { + // do not reset when relaunching the app, except when exiting by pop + final shouldReset = _exitedMainByPop; + _exitedMainByPop = false; + + if (!shouldReset && (intentData ?? {}).isEmpty) { + reportService.log('Relaunch'); + return; + } + } + _navigatorKey.currentState!.pushReplacement(DirectMaterialPageRoute( settings: const RouteSettings(name: HomePage.routeName), builder: (_) => _getFirstPage(intentData: intentData), diff --git a/lib/widgets/common/behaviour/pop/scope.dart b/lib/widgets/common/behaviour/pop/scope.dart index 72bf70eef..410d1bf83 100644 --- a/lib/widgets/common/behaviour/pop/scope.dart +++ b/lib/widgets/common/behaviour/pop/scope.dart @@ -1,4 +1,5 @@ import 'package:aves/services/common/services.dart'; +import 'package:aves/widgets/aves_app.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; @@ -28,6 +29,7 @@ class AvesPopScope extends StatelessWidget { } else { // exit reportService.log('Exit by pop'); + PopExitNotification().dispatch(context); SystemNavigator.pop(); } } @@ -36,3 +38,6 @@ class AvesPopScope extends StatelessWidget { ); } } + +@immutable +class PopExitNotification extends Notification {} From 9816cc15b3f9a950c1ae15ac42d227bc549af58a Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 9 Jun 2024 00:42:13 +0200 Subject: [PATCH 31/34] static analysis --- lib/widgets/common/behaviour/pop/scope.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/widgets/common/behaviour/pop/scope.dart b/lib/widgets/common/behaviour/pop/scope.dart index 410d1bf83..c2f7bfb20 100644 --- a/lib/widgets/common/behaviour/pop/scope.dart +++ b/lib/widgets/common/behaviour/pop/scope.dart @@ -1,5 +1,4 @@ import 'package:aves/services/common/services.dart'; -import 'package:aves/widgets/aves_app.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; From 3ccce6a52991d1db07a9c084743d4b50ef34722d Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 9 Jun 2024 01:09:16 +0200 Subject: [PATCH 32/34] viewer: narrower side tap area --- lib/widgets/viewer/visual/entry_page_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/widgets/viewer/visual/entry_page_view.dart b/lib/widgets/viewer/visual/entry_page_view.dart index 32a34248e..8f97f7fb4 100644 --- a/lib/widgets/viewer/visual/entry_page_view.dart +++ b/lib/widgets/viewer/visual/entry_page_view.dart @@ -505,7 +505,7 @@ class _EntryPageViewState extends State with TickerProviderStateM double? _getSideRatio() { if (!mounted) return null; final isPortrait = MediaQuery.orientationOf(context) == Orientation.portrait; - return isPortrait ? 1 / 5 : 1 / 8; + return isPortrait ? 1 / 6 : 1 / 8; } static ScaleState _vectorScaleStateCycle(ScaleState actual) { From 9657501d6e130be08a551e8036c27fef92225381 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Tue, 11 Jun 2024 23:05:53 +0200 Subject: [PATCH 33/34] l10n by weblate (#1035) Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/be/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ca/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ckb/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/gl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/is/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ja/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/lt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/my/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ru/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sv/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/th/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/vi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hant/ Translation: Aves/App - Main Co-authored-by: JY3 Co-authored-by: Thibault Deckers Co-authored-by: atilluF <110931720+atilluF@users.noreply.github.com> Co-authored-by: gallegonovato Co-authored-by: syu_pf_ssy --- lib/l10n/app_it.arb | 6 ++- lib/l10n/app_ja.arb | 112 +++++++++++++++++++++++++++++++++++++++++++- lib/l10n/app_zh.arb | 2 +- 3 files changed, 117 insertions(+), 3 deletions(-) diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index cf2e89f18..1d98c5c2d 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1376,5 +1376,9 @@ "setHomeCustomCollection": "Collezione personalizzata", "@setHomeCustomCollection": {}, "chipActionShowCollection": "Mostra nella Collezione", - "@chipActionShowCollection": {} + "@chipActionShowCollection": {}, + "renameProcessorHash": "Hash", + "@renameProcessorHash": {}, + "settingsForceWesternArabicNumeralsTile": "Forza numeri arabi", + "@settingsForceWesternArabicNumeralsTile": {} } diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 354a64625..cff859e99 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -1266,5 +1266,115 @@ "maxBrightnessAlways": "常時有効", "@maxBrightnessAlways": {}, "chipActionShowCollection": "コレクションで表示", - "@chipActionShowCollection": {} + "@chipActionShowCollection": {}, + "aboutDataUsageData": "データ", + "@aboutDataUsageData": {}, + "searchStatesSectionTitle": "地域", + "@searchStatesSectionTitle": {}, + "settingsViewerShowDescription": "説明を表示", + "@settingsViewerShowDescription": {}, + "chipActionConfigureVault": "保管庫を設定", + "@chipActionConfigureVault": {}, + "videoActionABRepeat": "A-B リピート", + "@videoActionABRepeat": {}, + "videoRepeatActionSetStart": "開始点を設定", + "@videoRepeatActionSetStart": {}, + "videoRepeatActionSetEnd": "終点を設定", + "@videoRepeatActionSetEnd": {}, + "cropAspectRatioSquare": "正方形", + "@cropAspectRatioSquare": {}, + "filterTaggedLabel": "タグ付き", + "@filterTaggedLabel": {}, + "albumTierVaults": "保管庫", + "@albumTierVaults": {}, + "overlayHistogramRGB": "RGB", + "@overlayHistogramRGB": {}, + "subtitlePositionBottom": "下", + "@subtitlePositionBottom": {}, + "statsTopStatesSectionTitle": "トップ地域", + "@statsTopStatesSectionTitle": {}, + "applyTooltip": "適用する", + "@applyTooltip": {}, + "viewerActionUnlock": "ビューをアンロック", + "@viewerActionUnlock": {}, + "editorActionTransform": "変換", + "@editorActionTransform": {}, + "settingsVideoPlaybackPageTitle": "再生", + "@settingsVideoPlaybackPageTitle": {}, + "editorTransformCrop": "切り取り", + "@editorTransformCrop": {}, + "exportEntryDialogWriteMetadata": "メタデータを書き込む", + "@exportEntryDialogWriteMetadata": {}, + "videoResumptionModeNever": "無効", + "@videoResumptionModeNever": {}, + "aboutDataUsageSectionTitle": "データ使用量", + "@aboutDataUsageSectionTitle": {}, + "videoResumptionModeAlways": "常にオン", + "@videoResumptionModeAlways": {}, + "settingsCollectionBurstPatternsTile": "バーストパターン", + "@settingsCollectionBurstPatternsTile": {}, + "settingsDisplayUseTvInterface": "Android TV インターフェイス", + "@settingsDisplayUseTvInterface": {}, + "tagEditorDiscardDialogMessage": "変更を破棄しますか?", + "@tagEditorDiscardDialogMessage": {}, + "widgetTapUpdateWidget": "ウィジェットを更新", + "@widgetTapUpdateWidget": {}, + "vaultBinUsageDialogMessage": "ゴミ箱を使用している保管庫があります。", + "@vaultBinUsageDialogMessage": {}, + "settingsConfirmationVaultDataLoss": "保管庫のデータ損失警告を表示する", + "@settingsConfirmationVaultDataLoss": {}, + "settingsWidgetDisplayedItem": "表示アイテム", + "@settingsWidgetDisplayedItem": {}, + "renameProcessorHash": "ハッシュ", + "@renameProcessorHash": {}, + "exportEntryDialogQuality": "画質", + "@exportEntryDialogQuality": {}, + "castDialogTitle": "キャストデバイス", + "@castDialogTitle": {}, + "aboutDataUsageCache": "キャッシュ", + "@aboutDataUsageCache": {}, + "aboutDataUsageMisc": "その他", + "@aboutDataUsageMisc": {}, + "aboutDataUsageInternal": "内部ストレージ", + "@aboutDataUsageInternal": {}, + "aboutDataUsageDatabase": "データベース", + "@aboutDataUsageDatabase": {}, + "aboutDataUsageExternal": "外部ストレージ", + "@aboutDataUsageExternal": {}, + "collectionActionSetHome": "ホームに設定", + "@collectionActionSetHome": {}, + "placeEmpty": "場所なし", + "@placeEmpty": {}, + "settingsThumbnailShowHdrIcon": "HDRアイコンを表示", + "@settingsThumbnailShowHdrIcon": {}, + "settingsCollectionBurstPatternsNone": "なし", + "@settingsCollectionBurstPatternsNone": {}, + "settingsVideoPlaybackTile": "再生", + "@settingsVideoPlaybackTile": {}, + "settingsDisablingBinWarningDialogMessage": "ごみ箱の中のアイテムは永久に削除されます。", + "@settingsDisablingBinWarningDialogMessage": {}, + "settingsForceWesternArabicNumeralsTile": "アラビア数字を強制する", + "@settingsForceWesternArabicNumeralsTile": {}, + "overlayHistogramNone": "なし", + "@overlayHistogramNone": {}, + "overlayHistogramLuminance": "明るさ", + "@overlayHistogramLuminance": {}, + "settingsModificationWarningDialogMessage": "他の設定は変更されます。", + "@settingsModificationWarningDialogMessage": {}, + "setHomeCustomCollection": "カスタムコレクション", + "@setHomeCustomCollection": {}, + "settingsAccessibilityShowPinchGestureAlternatives": "マルチタッチジェスチャーの選択肢を表示する", + "@settingsAccessibilityShowPinchGestureAlternatives": {}, + "chipActionCreateVault": "保管庫を作成", + "@chipActionCreateVault": {}, + "aboutDataUsageClearCache": "キャッシュを削除", + "@aboutDataUsageClearCache": {}, + "viewerActionLock": "ビューをロック", + "@viewerActionLock": {}, + "cropAspectRatioFree": "フリー", + "@cropAspectRatioFree": {}, + "cropAspectRatioOriginal": "オリジナル", + "@cropAspectRatioOriginal": {}, + "stopTooltip": "停止", + "@stopTooltip": {} } diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 7c2642985..80d0c3c6e 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -723,7 +723,7 @@ "@searchMetadataSectionTitle": {}, "settingsPageTitle": "设置", "@settingsPageTitle": {}, - "settingsSystemDefault": "系统", + "settingsSystemDefault": "系统默认", "@settingsSystemDefault": {}, "settingsDefault": "默认", "@settingsDefault": {}, From 201d458aeff66eaad0870dc8f3580c76111299c9 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 11 Jun 2024 23:10:52 +0200 Subject: [PATCH 34/34] version bump --- CHANGELOG.md | 2 ++ fastlane/metadata/android/en-US/changelogs/121.txt | 3 +++ fastlane/metadata/android/en-US/changelogs/12101.txt | 3 +++ pubspec.yaml | 2 +- whatsnew/whatsnew-en-US | 5 ++--- 5 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/121.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/12101.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index fee5b9fa2..8c359adab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [v1.11.2] - 2024-06-11 + ### Added - Albums / Countries / Tags: show selection in Collection diff --git a/fastlane/metadata/android/en-US/changelogs/121.txt b/fastlane/metadata/android/en-US/changelogs/121.txt new file mode 100644 index 000000000..24d17aed2 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/121.txt @@ -0,0 +1,3 @@ +In v1.11.2: +- show selected albums together in Collection +Full changelog available on GitHub \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/12101.txt b/fastlane/metadata/android/en-US/changelogs/12101.txt new file mode 100644 index 000000000..24d17aed2 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/12101.txt @@ -0,0 +1,3 @@ +In v1.11.2: +- show selected albums together in Collection +Full changelog available on GitHub \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 9eae23c6c..eca07a22b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,7 +7,7 @@ repository: https://github.com/deckerst/aves # - play changelog: /whatsnew/whatsnew-en-US # - izzy changelog: /fastlane/metadata/android/en-US/changelogs/XXX01.txt # - libre changelog: /fastlane/metadata/android/en-US/changelogs/XXX.txt -version: 1.11.1+120 +version: 1.11.2+121 publish_to: none environment: diff --git a/whatsnew/whatsnew-en-US b/whatsnew/whatsnew-en-US index f487944d6..24d17aed2 100644 --- a/whatsnew/whatsnew-en-US +++ b/whatsnew/whatsnew-en-US @@ -1,4 +1,3 @@ -In v1.11.1: -- watch videos with SRT subtitle files -- enjoy the app in Persian +In v1.11.2: +- show selected albums together in Collection Full changelog available on GitHub \ No newline at end of file

    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 diff --git a/lib/model/app/contributors.dart b/lib/model/app/contributors.dart index 0bd8fe21e..efc7ea1e4 100644 --- a/lib/model/app/contributors.dart +++ b/lib/model/app/contributors.dart @@ -87,6 +87,9 @@ class Contributors { Contributor('slasb37', 'p84haghi@gmail.com'), Contributor('mimvahedi', 'vahedi0vahedi@gmail.com'), Contributor('Alireza Rashidi', 'alirezarashidigoorabi@gmail.com'), + Contributor('何意挽秋風', '94283631+RejectVanity@users.noreply.github.com'), + Contributor('cheese', 'deanlemans5646@gmail.com'), + Contributor('Owen Elderbroek', 'o.elderbroek@gmail.com'), // Contributor('Alvi Khan', 'aveenalvi@gmail.com'), // Bengali // Contributor('Htet Oo Hlaing', 'htetoh2006@outlook.com'), // Burmese // Contributor('Khant', 'khant@users.noreply.hosted.weblate.org'), // Burmese From 9a4657379b8e4f13e243fece4f00379ea2553fdd Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 14 May 2024 00:06:09 +0200 Subject: [PATCH 05/34] upgrades --- android/app/build.gradle | 2 +- android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 2 +- lib/model/source/location/location.dart | 2 +- lib/widgets/about/bug_report.dart | 3 + plugins/aves_magnifier/pubspec.lock | 8 +-- plugins/aves_map/pubspec.lock | 12 ++-- plugins/aves_model/pubspec.lock | 8 +-- plugins/aves_platform_meta/pubspec.lock | 8 +-- plugins/aves_report/pubspec.lock | 8 +-- plugins/aves_report_console/pubspec.lock | 8 +-- plugins/aves_report_crashlytics/pubspec.lock | 28 ++++---- .../aves_screen_state/android/build.gradle | 4 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- plugins/aves_screen_state/pubspec.lock | 8 +-- plugins/aves_services/pubspec.lock | 12 ++-- plugins/aves_services_google/pubspec.lock | 12 ++-- plugins/aves_services_huawei/pubspec.lock | 12 ++-- plugins/aves_services_none/pubspec.lock | 12 ++-- plugins/aves_ui/pubspec.lock | 8 +-- plugins/aves_utils/pubspec.lock | 8 +-- plugins/aves_video/pubspec.lock | 8 +-- plugins/aves_video_ffmpeg/pubspec.lock | 10 +-- plugins/aves_video_ijk/pubspec.lock | 8 +-- plugins/aves_video_mpv/pubspec.lock | 20 +++--- pubspec.lock | 66 +++++++++---------- 27 files changed, 143 insertions(+), 140 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index ecf351dbf..4c588fa0e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -197,7 +197,7 @@ repositories { } dependencies { - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1' implementation "androidx.appcompat:appcompat:1.6.1" implementation 'androidx.core:core-ktx:1.13.1' diff --git a/android/build.gradle b/android/build.gradle index 346400121..141ec6ba5 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -25,7 +25,7 @@ buildscript { if (useCrashlytics) { // GMS & Firebase Crashlytics (used by some flavors only) - classpath 'com.google.gms:google-services:4.4.0' + classpath 'com.google.gms:google-services:4.4.1' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 11fce01a1..45181329e 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip diff --git a/android/settings.gradle b/android/settings.gradle index fe6428dc3..1e195978e 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -10,7 +10,7 @@ pluginManagement { settings.ext.kotlin_version = '1.9.21' settings.ext.ksp_version = "$kotlin_version-1.0.15" - settings.ext.agp_version = '8.4.0-rc02' + settings.ext.agp_version = '8.4.0' includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") diff --git a/lib/model/source/location/location.dart b/lib/model/source/location/location.dart index 09f89d38d..c8b5edac4 100644 --- a/lib/model/source/location/location.dart +++ b/lib/model/source/location/location.dart @@ -76,7 +76,7 @@ mixin LocationMixin on CountryMixin, StateMixin { } } - // full reverse geocoding, requiring Play Services and some connectivity + // full reverse geocoding, requiring geocoder and some connectivity Future _locatePlaces(AnalysisController controller, Set candidateEntries) async { if (controller.isStopping) return; if (!await availability.canLocatePlaces) return; diff --git a/lib/widgets/about/bug_report.dart b/lib/widgets/about/bug_report.dart index 0f801bf6a..68802ae8d 100644 --- a/lib/widgets/about/bug_report.dart +++ b/lib/widgets/about/bug_report.dart @@ -21,6 +21,7 @@ import 'package:aves/widgets/common/fx/borders.dart'; import 'package:aves/widgets/common/identity/aves_filter_chip.dart'; import 'package:aves/widgets/common/identity/buttons/outlined_button.dart'; import 'package:aves_model/aves_model.dart'; +import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:device_info_plus/device_info_plus.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -153,6 +154,7 @@ class _BugReportState extends State with FeedbackMixin { final flavor = context.read().toString().split('.')[1]; final packageInfo = await PackageInfo.fromPlatform(); final androidInfo = await DeviceInfoPlugin().androidInfo; + final connections = await Connectivity().checkConnectivity(); final storageVolumes = await storageService.getStorageVolumes(); final storageGrants = await storageService.getGrantedDirectories(); final supportsHdr = await windowService.supportsHdr(); @@ -166,6 +168,7 @@ class _BugReportState extends State with FeedbackMixin { 'Device: ${androidInfo.manufacturer} ${androidInfo.model}', 'Support: dynamic colors=${device.isDynamicColorAvailable}, geocoder=${device.hasGeocoder}, HDR=$supportsHdr', 'Mobile services: ${mobileServices.isServiceAvailable ? 'ready' : 'not available'}', + 'Connectivity: ${connections.map((v) => v.name).join(', ')}', 'System locales: ${WidgetsBinding.instance.platformDispatcher.locales.join(', ')}', 'Storage volumes: ${storageVolumes.map((v) => v.path).join(', ')}', 'Storage grants: ${storageGrants.join(', ')}', diff --git a/plugins/aves_magnifier/pubspec.lock b/plugins/aves_magnifier/pubspec.lock index 8d8a887c0..3b88e0c84 100644 --- a/plugins/aves_magnifier/pubspec.lock +++ b/plugins/aves_magnifier/pubspec.lock @@ -41,18 +41,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_map/pubspec.lock b/plugins/aves_map/pubspec.lock index 3f0483580..3562a8256 100644 --- a/plugins/aves_map/pubspec.lock +++ b/plugins/aves_map/pubspec.lock @@ -73,10 +73,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_map: dependency: "direct main" description: @@ -121,10 +121,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" lists: dependency: transitive description: @@ -137,10 +137,10 @@ packages: dependency: transitive description: name: logger - sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + sha256: af05cc8714f356fd1f3888fb6741cbe9fbe25cdb6eedbab80e1a6db21047d4a4 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_model/pubspec.lock b/plugins/aves_model/pubspec.lock index 18bf7fa64..d843ac39e 100644 --- a/plugins/aves_model/pubspec.lock +++ b/plugins/aves_model/pubspec.lock @@ -34,18 +34,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_platform_meta/pubspec.lock b/plugins/aves_platform_meta/pubspec.lock index 666d2a525..bfa3bb41a 100644 --- a/plugins/aves_platform_meta/pubspec.lock +++ b/plugins/aves_platform_meta/pubspec.lock @@ -26,18 +26,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_report/pubspec.lock b/plugins/aves_report/pubspec.lock index 0c1366579..3a2eed7cc 100644 --- a/plugins/aves_report/pubspec.lock +++ b/plugins/aves_report/pubspec.lock @@ -26,18 +26,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_report_console/pubspec.lock b/plugins/aves_report_console/pubspec.lock index cc047ca1d..82089249f 100644 --- a/plugins/aves_report_console/pubspec.lock +++ b/plugins/aves_report_console/pubspec.lock @@ -33,18 +33,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_report_crashlytics/pubspec.lock b/plugins/aves_report_crashlytics/pubspec.lock index f8545196f..864ebd6b1 100644 --- a/plugins/aves_report_crashlytics/pubspec.lock +++ b/plugins/aves_report_crashlytics/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "3dee3db3468c5f4640a4e8aa9c1e22561c298976d8c39ed2fdd456a9a3db26e1" + sha256: "2350805d7afefb0efe7acd325cb19d3ae8ba4039b906eade3807ffb69938a01f" url: "https://pub.dev" source: hosted - version: "1.3.32" + version: "1.3.33" async: dependency: transitive description: @@ -68,10 +68,10 @@ packages: dependency: "direct main" description: name: firebase_core - sha256: "4aef2a23d0f3265545807d68fbc2f76a6b994ca3c778d88453b99325abd63284" + sha256: "372d94ced114b9c40cb85e18c50ac94a7e998c8eec630c50d7aec047847d27bf" url: "https://pub.dev" source: hosted - version: "2.30.1" + version: "2.31.0" firebase_core_platform_interface: dependency: transitive description: @@ -84,26 +84,26 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: "67f2fcc600fc78c2f731c370a3a5e6c87ee862e3a2fba6f951eca6d5dafe5c29" + sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" url: "https://pub.dev" source: hosted - version: "2.16.0" + version: "2.17.0" firebase_crashlytics: dependency: "direct main" description: name: firebase_crashlytics - sha256: "1c499d1d97b93d24aee099259f89a5fbd6ce7d11d0fe98824586087f1291931b" + sha256: "8954a6493e05f73c87da1b15bab4970a5b325f138e254a0e1c18b4f97554720c" url: "https://pub.dev" source: hosted - version: "3.5.4" + version: "3.5.5" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "3160d049c220422f8de34690c39be42af8309a030d9dd370051582272181238e" + sha256: "82f5e203cb0a83ccfce7d9b02de63c94e2f56fae96788df4b7446ca2cc81dac7" url: "https://pub.dev" source: hosted - version: "3.6.32" + version: "3.6.33" flutter: dependency: "direct main" description: flutter @@ -113,10 +113,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_test: dependency: transitive description: flutter @@ -155,10 +155,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" matcher: dependency: transitive description: diff --git a/plugins/aves_screen_state/android/build.gradle b/plugins/aves_screen_state/android/build.gradle index a08fbb199..ccc38ddf9 100644 --- a/plugins/aves_screen_state/android/build.gradle +++ b/plugins/aves_screen_state/android/build.gradle @@ -3,8 +3,8 @@ version '1.0-SNAPSHOT' buildscript { ext { - kotlin_version = '1.8.21' - agp_version = '8.3.1' + kotlin_version = '1.9.22' + agp_version = '8.4.0' } repositories { diff --git a/plugins/aves_screen_state/android/gradle/wrapper/gradle-wrapper.properties b/plugins/aves_screen_state/android/gradle/wrapper/gradle-wrapper.properties index 69ed9d1f7..a10c8212e 100644 --- a/plugins/aves_screen_state/android/gradle/wrapper/gradle-wrapper.properties +++ b/plugins/aves_screen_state/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip \ No newline at end of file diff --git a/plugins/aves_screen_state/pubspec.lock b/plugins/aves_screen_state/pubspec.lock index 666d2a525..bfa3bb41a 100644 --- a/plugins/aves_screen_state/pubspec.lock +++ b/plugins/aves_screen_state/pubspec.lock @@ -26,18 +26,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_services/pubspec.lock b/plugins/aves_services/pubspec.lock index 916fd3ff6..df6ae6d57 100644 --- a/plugins/aves_services/pubspec.lock +++ b/plugins/aves_services/pubspec.lock @@ -80,10 +80,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_map: dependency: transitive description: @@ -128,10 +128,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" lists: dependency: transitive description: @@ -144,10 +144,10 @@ packages: dependency: transitive description: name: logger - sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + sha256: af05cc8714f356fd1f3888fb6741cbe9fbe25cdb6eedbab80e1a6db21047d4a4 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_services_google/pubspec.lock b/plugins/aves_services_google/pubspec.lock index 7de6ca455..da8b95024 100644 --- a/plugins/aves_services_google/pubspec.lock +++ b/plugins/aves_services_google/pubspec.lock @@ -134,10 +134,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_map: dependency: transitive description: @@ -291,10 +291,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" lists: dependency: transitive description: @@ -307,10 +307,10 @@ packages: dependency: transitive description: name: logger - sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + sha256: af05cc8714f356fd1f3888fb6741cbe9fbe25cdb6eedbab80e1a6db21047d4a4 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_services_huawei/pubspec.lock b/plugins/aves_services_huawei/pubspec.lock index 7ba371013..1c1ffebb6 100644 --- a/plugins/aves_services_huawei/pubspec.lock +++ b/plugins/aves_services_huawei/pubspec.lock @@ -101,10 +101,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_map: dependency: transitive description: @@ -167,10 +167,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" lists: dependency: transitive description: @@ -183,10 +183,10 @@ packages: dependency: transitive description: name: logger - sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + sha256: af05cc8714f356fd1f3888fb6741cbe9fbe25cdb6eedbab80e1a6db21047d4a4 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_services_none/pubspec.lock b/plugins/aves_services_none/pubspec.lock index 20ed90063..2ec3901f2 100644 --- a/plugins/aves_services_none/pubspec.lock +++ b/plugins/aves_services_none/pubspec.lock @@ -87,10 +87,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_map: dependency: transitive description: @@ -135,10 +135,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" lists: dependency: transitive description: @@ -151,10 +151,10 @@ packages: dependency: transitive description: name: logger - sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + sha256: af05cc8714f356fd1f3888fb6741cbe9fbe25cdb6eedbab80e1a6db21047d4a4 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_ui/pubspec.lock b/plugins/aves_ui/pubspec.lock index 623342ba2..9ec9434f5 100644 --- a/plugins/aves_ui/pubspec.lock +++ b/plugins/aves_ui/pubspec.lock @@ -26,18 +26,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_utils/pubspec.lock b/plugins/aves_utils/pubspec.lock index df72f5007..b4361b4b6 100644 --- a/plugins/aves_utils/pubspec.lock +++ b/plugins/aves_utils/pubspec.lock @@ -26,18 +26,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_video/pubspec.lock b/plugins/aves_video/pubspec.lock index dfefe2ff8..411ae4bb0 100644 --- a/plugins/aves_video/pubspec.lock +++ b/plugins/aves_video/pubspec.lock @@ -48,18 +48,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_video_ffmpeg/pubspec.lock b/plugins/aves_video_ffmpeg/pubspec.lock index ed8a39846..bba8aacdd 100644 --- a/plugins/aves_video_ffmpeg/pubspec.lock +++ b/plugins/aves_video_ffmpeg/pubspec.lock @@ -51,7 +51,7 @@ packages: description: path: "flutter/flutter" ref: background-lts - resolved-ref: "3fc7325f89225110b725cfbbb5e2560542a62e2e" + resolved-ref: "24213bd2334265cfc240525fb9a218b85ad4d872" url: "https://github.com/deckerst/ffmpeg-kit.git" source: git version: "6.0.3" @@ -72,18 +72,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_video_ijk/pubspec.lock b/plugins/aves_video_ijk/pubspec.lock index 801820862..284b7f0e5 100644 --- a/plugins/aves_video_ijk/pubspec.lock +++ b/plugins/aves_video_ijk/pubspec.lock @@ -64,18 +64,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: diff --git a/plugins/aves_video_mpv/pubspec.lock b/plugins/aves_video_mpv/pubspec.lock index a02266c37..83bd1b652 100644 --- a/plugins/aves_video_mpv/pubspec.lock +++ b/plugins/aves_video_mpv/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: archive - sha256: "0763b45fa9294197a2885c8567927e2830ade852e5c896fd4ab7e0e348d0f373" + sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 url: "https://pub.dev" source: hosted - version: "3.5.0" + version: "3.5.1" args: dependency: transitive description: @@ -119,10 +119,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_web_plugins: dependency: transitive description: flutter @@ -164,10 +164,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" material_color_utilities: dependency: transitive description: @@ -220,10 +220,10 @@ packages: dependency: transitive description: name: package_info_plus - sha256: "2c582551839386fa7ddbc7770658be7c0f87f388a4bff72066478f597c34d17f" + sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.0.0" package_info_plus_platform_interface: dependency: transitive description: @@ -409,10 +409,10 @@ packages: dependency: transitive description: name: wakelock_plus - sha256: c8b7cc80f045533b40a0e6c9109905494e3cf32c0fbd5c62616998e0de44003f + sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68" url: "https://pub.dev" source: hosted - version: "1.2.4" + version: "1.2.5" wakelock_plus_platform_interface: dependency: transitive description: diff --git a/pubspec.lock b/pubspec.lock index cbf25c2f3..972e9a56a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "3dee3db3468c5f4640a4e8aa9c1e22561c298976d8c39ed2fdd456a9a3db26e1" + sha256: "2350805d7afefb0efe7acd325cb19d3ae8ba4039b906eade3807ffb69938a01f" url: "https://pub.dev" source: hosted - version: "1.3.32" + version: "1.3.33" analyzer: dependency: transitive description: @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: archive - sha256: "0763b45fa9294197a2885c8567927e2830ade852e5c896fd4ab7e0e348d0f373" + sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 url: "https://pub.dev" source: hosted - version: "3.5.0" + version: "3.5.1" args: dependency: transitive description: @@ -242,10 +242,10 @@ packages: dependency: transitive description: name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + sha256: "3945034e86ea203af7a056d98e98e42a5518fff200d6e8e6647e1886b07e936e" url: "https://pub.dev" source: hosted - version: "1.7.2" + version: "1.8.0" crypto: dependency: transitive description: @@ -364,7 +364,7 @@ packages: description: path: "flutter/flutter" ref: background-lts - resolved-ref: "3fc7325f89225110b725cfbbb5e2560542a62e2e" + resolved-ref: "24213bd2334265cfc240525fb9a218b85ad4d872" url: "https://github.com/deckerst/ffmpeg-kit.git" source: git version: "6.0.3" @@ -388,10 +388,10 @@ packages: dependency: transitive description: name: firebase_core - sha256: "4aef2a23d0f3265545807d68fbc2f76a6b994ca3c778d88453b99325abd63284" + sha256: "372d94ced114b9c40cb85e18c50ac94a7e998c8eec630c50d7aec047847d27bf" url: "https://pub.dev" source: hosted - version: "2.30.1" + version: "2.31.0" firebase_core_platform_interface: dependency: transitive description: @@ -404,26 +404,26 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: "67f2fcc600fc78c2f731c370a3a5e6c87ee862e3a2fba6f951eca6d5dafe5c29" + sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" url: "https://pub.dev" source: hosted - version: "2.16.0" + version: "2.17.0" firebase_crashlytics: dependency: transitive description: name: firebase_crashlytics - sha256: "1c499d1d97b93d24aee099259f89a5fbd6ce7d11d0fe98824586087f1291931b" + sha256: "8954a6493e05f73c87da1b15bab4970a5b325f138e254a0e1c18b4f97554720c" url: "https://pub.dev" source: hosted - version: "3.5.4" + version: "3.5.5" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "3160d049c220422f8de34690c39be42af8309a030d9dd370051582272181238e" + sha256: "82f5e203cb0a83ccfce7d9b02de63c94e2f56fae96788df4b7446ca2cc81dac7" url: "https://pub.dev" source: hosted - version: "3.6.32" + version: "3.6.33" fixnum: dependency: transitive description: @@ -502,10 +502,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_localization_nn: dependency: "direct main" description: @@ -779,10 +779,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" lists: dependency: transitive description: @@ -811,10 +811,10 @@ packages: dependency: transitive description: name: local_auth_darwin - sha256: "33381a15b0de2279523eca694089393bb146baebdce72a404555d03174ebc1e9" + sha256: "959145a4cf6f0de745b9ec9ac60101270eb4c5b8b7c2a0470907014adc1c618d" url: "https://pub.dev" source: hosted - version: "1.2.2" + version: "1.3.0" local_auth_platform_interface: dependency: transitive description: @@ -835,10 +835,10 @@ packages: dependency: transitive description: name: logger - sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + sha256: af05cc8714f356fd1f3888fb6741cbe9fbe25cdb6eedbab80e1a6db21047d4a4 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" logging: dependency: transitive description: @@ -1004,10 +1004,10 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "2c582551839386fa7ddbc7770658be7c0f87f388a4bff72066478f597c34d17f" + sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.0.0" package_info_plus_platform_interface: dependency: transitive description: @@ -1333,10 +1333,10 @@ packages: dependency: transitive description: name: shared_preferences_foundation - sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" + sha256: "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7" url: "https://pub.dev" source: hosted - version: "2.3.5" + version: "2.4.0" shared_preferences_linux: dependency: transitive description: @@ -1611,10 +1611,10 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" + sha256: "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.0" url_launcher_linux: dependency: transitive description: @@ -1627,10 +1627,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: @@ -1691,10 +1691,10 @@ packages: dependency: transitive description: name: wakelock_plus - sha256: c8b7cc80f045533b40a0e6c9109905494e3cf32c0fbd5c62616998e0de44003f + sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68" url: "https://pub.dev" source: hosted - version: "1.2.4" + version: "1.2.5" wakelock_plus_platform_interface: dependency: transitive description: From 56762eea9c7030e4fbd876f6a4ac8c4df6e23cac Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 18 May 2024 22:43:29 +0200 Subject: [PATCH 06/34] upgraded Flutter to stable v3.22.0 --- .flutter | 2 +- CHANGELOG.md | 8 ++ android/app/build.gradle | 7 +- android/app/src/main/AndroidManifest.xml | 10 +-- .../deckers/thibault/aves/AnalysisWorker.kt | 3 +- .../aves/HomeWidgetConfigureActivity.kt | 5 -- .../deckers/thibault/aves/MainActivity.kt | 47 ++++++++---- .../aves/SearchSuggestionsProvider.kt | 2 +- .../thibault/aves/WallpaperActivity.kt | 24 +++--- .../aves/channel/calls/AnalysisHandler.kt | 2 +- .../aves/channel/calls/DebugHandler.kt | 25 +----- .../aves/channel/calls/DeviceHandler.kt | 21 ++--- .../aves/channel/calls/StorageHandler.kt | 16 +--- .../streams/ActivityResultStreamHandler.kt | 5 -- .../aves/metadata/ExifInterfaceHelper.kt | 14 ++-- .../aves/metadata/metadataextractor/Helper.kt | 10 +-- .../SafePngMetadataReader.kt | 8 +- .../metadataextractor/SafeXmpReader.kt | 3 +- .../metadataextractor/mpf/MpfDirectory.kt | 2 - .../deckers/thibault/aves/model/AvesEntry.kt | 2 +- .../thibault/aves/utils/FlutterUtils.kt | 27 ------- .../thibault/aves/utils/PermissionManager.kt | 25 +----- .../thibault/aves/utils/StorageUtils.kt | 8 +- android/exifinterface/build.gradle | 2 +- lib/theme/themes.dart | 59 ++++++++------ lib/widgets/about/about_tv_page.dart | 3 +- lib/widgets/about/licenses.dart | 5 +- lib/widgets/about/translators.dart | 2 +- lib/widgets/about/tv_license_page.dart | 7 +- lib/widgets/aves_app.dart | 4 +- .../common/action_mixins/feedback.dart | 2 +- .../action_mixins/overlay_snack_bar.dart | 12 ++- .../common/basic/markdown_container.dart | 2 +- .../common/basic/popup/expansion_panel.dart | 4 +- lib/widgets/common/basic/wheel.dart | 2 +- .../grid/sections/mosaic/scale_overlay.dart | 2 +- lib/widgets/common/identity/aves_app_bar.dart | 3 +- lib/widgets/common/identity/aves_caption.dart | 2 +- .../common/identity/aves_expansion_tile.dart | 3 +- .../common/identity/aves_filter_chip.dart | 5 +- .../identity/buttons/outlined_button.dart | 8 +- .../identity/buttons/overlay_button.dart | 12 +-- .../common/identity/highlight_title.dart | 3 +- .../common/map/buttons/coordinate_filter.dart | 76 +++++++++---------- lib/widgets/common/thumbnail/error.dart | 2 +- lib/widgets/debug/colors.dart | 22 +++++- lib/widgets/dialogs/aves_dialog.dart | 2 +- lib/widgets/dialogs/convert_entry_dialog.dart | 2 +- .../entry_editors/remove_metadata_dialog.dart | 3 +- .../filter_editors/pattern_dialog.dart | 2 +- .../dialogs/filter_editors/pin_dialog.dart | 4 +- lib/widgets/navigation/drawer/app_drawer.dart | 8 +- .../common/quick_actions/editor_page.dart | 2 +- lib/widgets/settings/common/tile_leading.dart | 7 +- lib/widgets/settings/settings_tv_page.dart | 1 - lib/widgets/stats/date/histogram.dart | 7 +- lib/widgets/stats/percent_text.dart | 6 +- lib/widgets/viewer/info/info_app_bar.dart | 18 +++-- lib/widgets/viewer/info/info_search.dart | 12 +-- lib/widgets/viewer/info/metadata/tv_page.dart | 1 - plugins/aves_magnifier/pubspec.lock | 4 +- plugins/aves_map/pubspec.lock | 4 +- plugins/aves_model/pubspec.lock | 4 +- .../aves_platform_meta/android/build.gradle | 2 +- plugins/aves_platform_meta/pubspec.lock | 4 +- plugins/aves_report/pubspec.lock | 4 +- plugins/aves_report_console/pubspec.lock | 4 +- plugins/aves_report_crashlytics/pubspec.lock | 26 +++---- .../aves_screen_state/android/build.gradle | 2 +- plugins/aves_screen_state/pubspec.lock | 4 +- plugins/aves_services/pubspec.lock | 4 +- plugins/aves_services_google/pubspec.lock | 10 +-- plugins/aves_services_huawei/pubspec.lock | 4 +- plugins/aves_services_none/pubspec.lock | 4 +- plugins/aves_ui/pubspec.lock | 4 +- plugins/aves_utils/pubspec.lock | 4 +- plugins/aves_video/pubspec.lock | 4 +- plugins/aves_video_ffmpeg/pubspec.lock | 4 +- plugins/aves_video_ijk/pubspec.lock | 4 +- plugins/aves_video_mpv/pubspec.lock | 10 +-- pubspec.lock | 66 ++++++++-------- pubspec.yaml | 2 +- 82 files changed, 361 insertions(+), 410 deletions(-) diff --git a/.flutter b/.flutter index 54e66469a..5dcb86f68 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit 54e66469a933b60ddf175f858f82eaeb97e48c8d +Subproject commit 5dcb86f68f239346676ceb1ed1ea385bd215fba1 diff --git a/CHANGELOG.md b/CHANGELOG.md index b09bea370..a41aac3eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Changed + +- upgraded Flutter to stable v3.22.0 + +### Removed + +- support for Android KitKat (API 19) + ## [v1.11.1] - 2024-05-03 ### Added diff --git a/android/app/build.gradle b/android/app/build.gradle index 4c588fa0e..7175da16d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -66,9 +66,6 @@ android { defaultConfig { applicationId packageName - // minSdk constraints: - // - Flutter & other plugins: 19 (cf `flutter.minSdkVersion`) - // - google_maps_flutter v2.1.1: 20 minSdk flutter.minSdkVersion targetSdk 34 versionCode flutterVersionCode.toInteger() @@ -201,7 +198,7 @@ dependencies { implementation "androidx.appcompat:appcompat:1.6.1" implementation 'androidx.core:core-ktx:1.13.1' - implementation 'androidx.lifecycle:lifecycle-process:2.7.0' + implementation 'androidx.lifecycle:lifecycle-process:2.8.0' implementation 'androidx.media:media:1.7.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.security:security-crypto:1.1.0-alpha06' @@ -229,7 +226,7 @@ dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.10.2' - kapt 'androidx.annotation:annotation:1.7.1' + kapt 'androidx.annotation:annotation:1.8.0' ksp "com.github.bumptech.glide:ksp:$glide_version" compileOnly rootProject.findProject(':streams_channel') diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 5e2437a2b..e0a82ddb2 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -72,12 +72,10 @@ --> - + @@ -321,8 +319,8 @@ - + diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisWorker.kt b/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisWorker.kt index d7be83a8c..a0c1a0ab9 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisWorker.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/AnalysisWorker.kt @@ -161,13 +161,12 @@ class AnalysisWorker(context: Context, parameters: WorkerParameters) : Coroutine applicationContext.getString(R.string.analysis_notification_action_stop), WorkManager.getInstance(applicationContext).createCancelPendingIntent(id) ).build() - val icon = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) R.drawable.ic_notification else R.mipmap.ic_launcher_round val contentTitle = title ?: applicationContext.getText(R.string.analysis_notification_default_title) val notification = NotificationCompat.Builder(applicationContext, NOTIFICATION_CHANNEL) .setContentTitle(contentTitle) .setTicker(contentTitle) .setContentText(message) - .setSmallIcon(icon) + .setSmallIcon(R.drawable.ic_notification) .setOngoing(true) .setContentIntent(openAppIntent) .addAction(stopAction) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetConfigureActivity.kt b/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetConfigureActivity.kt index 5d1518fcc..dad5ed84e 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetConfigureActivity.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/HomeWidgetConfigureActivity.kt @@ -4,8 +4,6 @@ import android.appwidget.AppWidgetManager import android.content.Intent import android.os.Bundle import deckers.thibault.aves.model.FieldMap -import deckers.thibault.aves.utils.FlutterUtils -import deckers.thibault.aves.utils.FlutterUtils.enableSoftwareRendering import io.flutter.embedding.engine.FlutterEngine import io.flutter.plugin.common.MethodChannel @@ -13,9 +11,6 @@ class HomeWidgetSettingsActivity : MainActivity() { private var appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID public override fun onCreate(savedInstanceState: Bundle?) { - if (FlutterUtils.isSoftwareRenderingRequired()) { - intent.enableSoftwareRendering() - } super.onCreate(savedInstanceState) // cancel if user does not complete widget setup diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt index c54b6820c..c6858f552 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt @@ -17,13 +17,37 @@ import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.graphics.drawable.IconCompat import app.loup.streams_channel.StreamsChannel import deckers.thibault.aves.channel.AvesByteSendingMethodCodec -import deckers.thibault.aves.channel.calls.* +import deckers.thibault.aves.channel.calls.AccessibilityHandler +import deckers.thibault.aves.channel.calls.AnalysisHandler +import deckers.thibault.aves.channel.calls.AppAdapterHandler +import deckers.thibault.aves.channel.calls.DebugHandler +import deckers.thibault.aves.channel.calls.DeviceHandler +import deckers.thibault.aves.channel.calls.EmbeddedDataHandler +import deckers.thibault.aves.channel.calls.GeocodingHandler +import deckers.thibault.aves.channel.calls.GlobalSearchHandler +import deckers.thibault.aves.channel.calls.HomeWidgetHandler +import deckers.thibault.aves.channel.calls.MediaEditHandler +import deckers.thibault.aves.channel.calls.MediaFetchBytesHandler +import deckers.thibault.aves.channel.calls.MediaFetchObjectHandler +import deckers.thibault.aves.channel.calls.MediaSessionHandler +import deckers.thibault.aves.channel.calls.MediaStoreHandler +import deckers.thibault.aves.channel.calls.MetadataEditHandler +import deckers.thibault.aves.channel.calls.MetadataFetchHandler +import deckers.thibault.aves.channel.calls.SecurityHandler +import deckers.thibault.aves.channel.calls.StorageHandler import deckers.thibault.aves.channel.calls.window.ActivityWindowHandler import deckers.thibault.aves.channel.calls.window.WindowHandler -import deckers.thibault.aves.channel.streams.* +import deckers.thibault.aves.channel.streams.ActivityResultStreamHandler +import deckers.thibault.aves.channel.streams.AnalysisStreamHandler +import deckers.thibault.aves.channel.streams.ErrorStreamHandler +import deckers.thibault.aves.channel.streams.ImageByteStreamHandler +import deckers.thibault.aves.channel.streams.ImageOpStreamHandler +import deckers.thibault.aves.channel.streams.IntentStreamHandler +import deckers.thibault.aves.channel.streams.MediaCommandStreamHandler +import deckers.thibault.aves.channel.streams.MediaStoreChangeStreamHandler +import deckers.thibault.aves.channel.streams.MediaStoreStreamHandler +import deckers.thibault.aves.channel.streams.SettingsChangeStreamHandler import deckers.thibault.aves.model.FieldMap -import deckers.thibault.aves.utils.FlutterUtils.enableSoftwareRendering -import deckers.thibault.aves.utils.FlutterUtils.isSoftwareRenderingRequired import deckers.thibault.aves.utils.LogUtils import deckers.thibault.aves.utils.getParcelableExtraCompat import io.flutter.embedding.android.FlutterFragmentActivity @@ -52,13 +76,6 @@ open class MainActivity : FlutterFragmentActivity() { override fun onCreate(savedInstanceState: Bundle?) { Log.i(LOG_TAG, "onCreate intent=$intent") - if (isSoftwareRenderingRequired()) { - intent.enableSoftwareRendering() - // running the app from Android Studio automatically adds to the intent the `start-paused` flag - // so the IDE can connect to the app, but launching on KitKat emulators fails because of a timeout - intent.removeExtra("start-paused") - } - intent.extras?.takeUnless { it.isEmpty }?.let { Log.i(LOG_TAG, "onCreate intent extras=$it") } @@ -168,11 +185,9 @@ open class MainActivity : FlutterFragmentActivity() { // as of Flutter v3.0.1, the window `viewInsets` and `viewPadding` // are incorrect on startup in some environments (e.g. API 29 emulator), // so we manually request to apply the insets to update the window metrics - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) { - Handler(Looper.getMainLooper()).postDelayed({ - window.decorView.requestApplyInsets() - }, 100) - } + Handler(Looper.getMainLooper()).postDelayed({ + window.decorView.requestApplyInsets() + }, 100) } override fun onStop() { diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt index 4429cd878..c7f2f8fd4 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/SearchSuggestionsProvider.kt @@ -34,7 +34,7 @@ class SearchSuggestionsProvider : ContentProvider() { val columns = arrayOf( SearchManager.SUGGEST_COLUMN_INTENT_DATA, SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA, - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) SearchManager.SUGGEST_COLUMN_CONTENT_TYPE else "mimeType", + SearchManager.SUGGEST_COLUMN_CONTENT_TYPE, SearchManager.SUGGEST_COLUMN_TEXT_1, SearchManager.SUGGEST_COLUMN_TEXT_2, SearchManager.SUGGEST_COLUMN_ICON_1, diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/WallpaperActivity.kt b/android/app/src/main/kotlin/deckers/thibault/aves/WallpaperActivity.kt index c37539172..4aa32be1a 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/WallpaperActivity.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/WallpaperActivity.kt @@ -2,21 +2,26 @@ package deckers.thibault.aves import android.content.Intent import android.net.Uri -import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper import android.util.Log import app.loup.streams_channel.StreamsChannel import deckers.thibault.aves.channel.AvesByteSendingMethodCodec -import deckers.thibault.aves.channel.calls.* +import deckers.thibault.aves.channel.calls.AccessibilityHandler +import deckers.thibault.aves.channel.calls.DeviceHandler +import deckers.thibault.aves.channel.calls.EmbeddedDataHandler +import deckers.thibault.aves.channel.calls.MediaFetchBytesHandler +import deckers.thibault.aves.channel.calls.MediaFetchObjectHandler +import deckers.thibault.aves.channel.calls.MediaSessionHandler +import deckers.thibault.aves.channel.calls.MetadataFetchHandler +import deckers.thibault.aves.channel.calls.StorageHandler +import deckers.thibault.aves.channel.calls.WallpaperHandler import deckers.thibault.aves.channel.calls.window.ActivityWindowHandler import deckers.thibault.aves.channel.calls.window.WindowHandler import deckers.thibault.aves.channel.streams.ImageByteStreamHandler import deckers.thibault.aves.channel.streams.MediaCommandStreamHandler import deckers.thibault.aves.model.FieldMap -import deckers.thibault.aves.utils.FlutterUtils -import deckers.thibault.aves.utils.FlutterUtils.enableSoftwareRendering import deckers.thibault.aves.utils.LogUtils import deckers.thibault.aves.utils.getParcelableExtraCompat import io.flutter.embedding.android.FlutterFragmentActivity @@ -30,9 +35,6 @@ class WallpaperActivity : FlutterFragmentActivity() { private lateinit var mediaSessionHandler: MediaSessionHandler override fun onCreate(savedInstanceState: Bundle?) { - if (FlutterUtils.isSoftwareRenderingRequired()) { - intent.enableSoftwareRendering() - } super.onCreate(savedInstanceState) Log.i(LOG_TAG, "onCreate intent=$intent") @@ -83,11 +85,9 @@ class WallpaperActivity : FlutterFragmentActivity() { // as of Flutter v3.0.1, the window `viewInsets` and `viewPadding` // are incorrect on startup in some environments (e.g. API 29 emulator), // so we manually request to apply the insets to update the window metrics - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) { - Handler(Looper.getMainLooper()).postDelayed({ - window.decorView.requestApplyInsets() - }, 100) - } + Handler(Looper.getMainLooper()).postDelayed({ + window.decorView.requestApplyInsets() + }, 100) } override fun onDestroy() { diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/AnalysisHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/AnalysisHandler.kt index c640d31c7..21b7dd13e 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/AnalysisHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/AnalysisHandler.kt @@ -1,7 +1,7 @@ package deckers.thibault.aves.channel.calls import android.content.Context -import androidx.core.app.ComponentActivity +import androidx.activity.ComponentActivity import androidx.work.ExistingWorkPolicy import androidx.work.OneTimeWorkRequest import androidx.work.OneTimeWorkRequestBuilder diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt index 3292bb715..fd36169d4 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DebugHandler.kt @@ -79,15 +79,9 @@ class DebugHandler(private val context: Context) : MethodCallHandler { "obbDir" to context.obbDir, "externalCacheDir" to context.externalCacheDir, "externalFilesDir" to context.getExternalFilesDir(null), + "codeCacheDir" to context.codeCacheDir, + "noBackupFilesDir" to context.noBackupFilesDir, ).apply { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - putAll( - hashMapOf( - "codeCacheDir" to context.codeCacheDir, - "noBackupFilesDir" to context.noBackupFilesDir, - ) - ) - } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { put("dataDir", context.dataDir) } @@ -108,8 +102,6 @@ class DebugHandler(private val context: Context) : MethodCallHandler { } private fun getCodecs(@Suppress("unused_parameter") call: MethodCall, result: MethodChannel.Result) { - val codecs = ArrayList() - fun getFields(info: MediaCodecInfo): FieldMap { val fields: FieldMap = hashMapOf( "name" to info.name, @@ -126,18 +118,7 @@ class DebugHandler(private val context: Context) : MethodCallHandler { return fields } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - codecs.addAll(MediaCodecList(MediaCodecList.REGULAR_CODECS).codecInfos.map(::getFields)) - } else { - @Suppress("deprecation") - val count = MediaCodecList.getCodecCount() - for (i in 0 until count) { - @Suppress("deprecation") - val info = MediaCodecList.getCodecInfoAt(i) - codecs.add(getFields(info)) - } - } - + val codecs = MediaCodecList(MediaCodecList.REGULAR_CODECS).codecInfos.map(::getFields).toList() result.success(codecs) } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt index 3b1306a99..603739bde 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/DeviceHandler.kt @@ -69,16 +69,11 @@ class DeviceHandler(private val context: Context) : MethodCallHandler { } private fun getLocales(@Suppress("unused_parameter") call: MethodCall, result: MethodChannel.Result) { - fun toMap(locale: Locale): FieldMap { - val fields: HashMap = hashMapOf( - "language" to locale.language, - "country" to locale.country, - ) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - fields["script"] = locale.script - } - return fields - } + fun toMap(locale: Locale): FieldMap = hashMapOf( + "language" to locale.language, + "country" to locale.country, + "script" to locale.script, + ) val locales = ArrayList() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { @@ -106,11 +101,7 @@ class DeviceHandler(private val context: Context) : MethodCallHandler { } private fun isSystemFilePickerEnabled(@Suppress("unused_parameter") call: MethodCall, result: MethodChannel.Result) { - val enabled = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).resolveActivity(context.packageManager) != null - } else { - false - } + val enabled = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).resolveActivity(context.packageManager) != null result.success(enabled) } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/StorageHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/StorageHandler.kt index 81da9f0b0..4d0001ce0 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/StorageHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/StorageHandler.kt @@ -47,9 +47,7 @@ class StorageHandler(private val context: Context) : MethodCallHandler { private fun getDataUsage(@Suppress("unused_parameter") call: MethodCall, result: MethodChannel.Result) { var internalCache = getFolderSize(context.cacheDir) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - internalCache += getFolderSize(context.codeCacheDir) - } + internalCache += getFolderSize(context.codeCacheDir) val externalCache = context.externalCacheDirs.map(::getFolderSize).sum() val dataDir = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) context.dataDir else File(context.applicationInfo.dataDir) @@ -105,12 +103,7 @@ class StorageHandler(private val context: Context) : MethodCallHandler { val volumeFile = File(volumePath) try { val isPrimary = volumePath == primaryVolumePath - val isRemovable = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - Environment.isExternalStorageRemovable(volumeFile) - } else { - // random guess - !isPrimary - } + val isRemovable = Environment.isExternalStorageRemovable(volumeFile) volumes.add( hashMapOf( "path" to volumePath, @@ -202,11 +195,6 @@ class StorageHandler(private val context: Context) : MethodCallHandler { return } - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { - result.error("revokeDirectoryAccess-unsupported", "volume access is not allowed before Android Lollipop", null) - return - } - val success = PermissionManager.revokeDirectoryAccess(context, path) result.success(success) } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/streams/ActivityResultStreamHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/streams/ActivityResultStreamHandler.kt index 7d442e98b..29005f9ae 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/streams/ActivityResultStreamHandler.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/streams/ActivityResultStreamHandler.kt @@ -61,11 +61,6 @@ class ActivityResultStreamHandler(private val activity: Activity, arguments: Any return } - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { - error("requestDirectoryAccess-unsupported", "directory access is not allowed before Android Lollipop", null) - return - } - PermissionManager.requestDirectoryAccess(activity, ensureTrailingSeparator(path), { success(true) endOfStream() diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/ExifInterfaceHelper.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/ExifInterfaceHelper.kt index ce361ea32..f0d28fb3e 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/ExifInterfaceHelper.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/ExifInterfaceHelper.kt @@ -4,14 +4,18 @@ import android.util.Log import androidx.exifinterface.media.ExifInterface import com.drew.lang.Rational import com.drew.metadata.Directory -import com.drew.metadata.exif.* +import com.drew.metadata.exif.ExifDirectoryBase +import com.drew.metadata.exif.ExifIFD0Directory +import com.drew.metadata.exif.ExifThumbnailDirectory +import com.drew.metadata.exif.GpsDirectory +import com.drew.metadata.exif.PanasonicRawIFD0Directory import com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory import com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory import com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory import deckers.thibault.aves.utils.LogUtils import java.text.ParseException import java.text.SimpleDateFormat -import java.util.* +import java.util.Locale import kotlin.math.abs import kotlin.math.floor import kotlin.math.roundToLong @@ -22,7 +26,7 @@ object ExifInterfaceHelper { val GPS_DATE_FORMAT = SimpleDateFormat("yyyy:MM:dd", Locale.ROOT) val GPS_TIME_FORMAT = SimpleDateFormat("HH:mm:ss", Locale.ROOT) - private const val precisionErrorTolerance = 1e-10 + private const val PRECISION_ERROR_TOLERANCE = 1e-10 // ExifInterface always states it has the following attributes // and returns "0" instead of "null" when they are actually missing @@ -220,7 +224,7 @@ object ExifInterfaceHelper { // initialize metadata-extractor directories that we will fill // by tags converted from the ExifInterface attributes // so that we can rely on metadata-extractor descriptions - val dirs = DirType.values().associateWith { it.createDirectory() } + val dirs = DirType.entries.associateWith { it.createDirectory() } // exclude Exif directory when it only includes image size val isUselessExif = fun(it: Map): Boolean { @@ -308,7 +312,7 @@ object ExifInterfaceHelper { val numerator = 1L val f = numerator / d val denominator = f.roundToLong() - if (abs(f - denominator) < precisionErrorTolerance) { + if (abs(f - denominator) < PRECISION_ERROR_TOLERANCE) { return Rational(numerator, denominator) } } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt index 5ebe7537a..0d2608a06 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/Helper.kt @@ -60,7 +60,7 @@ object Helper { private val PNG_RAW_PROFILE_PATTERN = Regex("^\\n(.*?)\\n\\s*(\\d+)\\n(.*)", RegexOption.DOT_MATCHES_ALL) // providing the stream length is risky, as it may crash if it is incorrect - private const val safeReadStreamLength = -1L + private const val SAFE_READ_STREAM_LENGTH = -1L fun readMimeType(input: InputStream): String? { val bufferedInputStream = if (input is BufferedInputStream) input else BufferedInputStream(input) @@ -84,7 +84,7 @@ object Helper { FileType.Orf, FileType.Rw2 -> safeReadTiff(inputStream) - else -> ImageMetadataReader.readMetadata(inputStream, safeReadStreamLength, fileType) + else -> ImageMetadataReader.readMetadata(inputStream, SAFE_READ_STREAM_LENGTH, fileType) } metadata.addDirectory(FileTypeDirectory(fileType)) @@ -116,7 +116,7 @@ object Helper { @Throws(IOException::class, TiffProcessingException::class) fun safeReadTiff(input: InputStream): com.drew.metadata.Metadata { - val reader = RandomAccessStreamReader(input, RandomAccessStreamReader.DEFAULT_CHUNK_LENGTH, safeReadStreamLength) + val reader = RandomAccessStreamReader(input, RandomAccessStreamReader.DEFAULT_CHUNK_LENGTH, SAFE_READ_STREAM_LENGTH) val metadata = com.drew.metadata.Metadata() val handler = SafeExifTiffHandler(metadata, null, 0) TiffReader().processTiff(reader, handler, 0) @@ -294,9 +294,7 @@ object Helper { if (!modelTiePoints && !modelTransformation) return false val modelPixelScale = this.containsTag(ExifGeoTiffTags.TAG_MODEL_PIXEL_SCALE) - if ((modelTransformation && modelPixelScale) || (modelPixelScale && !modelTiePoints)) return false - - return true + return !((modelTransformation && modelPixelScale) || (modelPixelScale && !modelTiePoints)) } // TODO TLAD use `GeoTiffDirectory` from the Java version of `metadata-extractor` when available diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafePngMetadataReader.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafePngMetadataReader.kt index 97498c0e4..719f08a95 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafePngMetadataReader.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafePngMetadataReader.kt @@ -31,6 +31,7 @@ import deckers.thibault.aves.utils.LogUtils import java.io.ByteArrayInputStream import java.io.IOException import java.io.InputStream +import java.util.Locale import java.util.zip.InflaterInputStream import java.util.zip.ZipException @@ -42,7 +43,7 @@ object SafePngMetadataReader { private val LOG_TAG = LogUtils.createTag() // arbitrary size to detect chunks that may yield an OOM - private const val chunkSizeDangerThreshold = SafeXmpReader.SEGMENT_TYPE_SIZE_DANGER_THRESHOLD + private const val CHUNK_SIZE_DANGER_THRESHOLD = SafeXmpReader.SEGMENT_TYPE_SIZE_DANGER_THRESHOLD private val latin1Encoding = Charsets.ISO_8859_1 private val utf8Encoding = Charsets.UTF_8 @@ -85,7 +86,7 @@ object SafePngMetadataReader { val bytes = chunk.bytes // TLAD insert start - if (bytes.size > chunkSizeDangerThreshold) { + if (bytes.size > CHUNK_SIZE_DANGER_THRESHOLD) { Log.w(LOG_TAG, "PNG chunk $chunkType is too large, with a size of ${bytes.size} B") return } @@ -290,11 +291,12 @@ object SafePngMetadataReader { val second = reader.uInt8.toInt() val directory = PngDirectory(PngChunkType.tIME) if (DateUtil.isValidDate(year, month - 1, day) && DateUtil.isValidTime(hour, minute, second)) { - val dateString = String.format("%04d:%02d:%02d %02d:%02d:%02d", year, month, day, hour, minute, second) + val dateString = String.format(Locale.ROOT, "%04d:%02d:%02d %02d:%02d:%02d", year, month, day, hour, minute, second) directory.setString(PngDirectory.TAG_LAST_MODIFICATION_TIME, dateString) } else { directory.addError( String.format( + Locale.ROOT, "PNG tIME data describes an invalid date/time: year=%d month=%d day=%d hour=%d minute=%d second=%d", year, month, day, hour, minute, second ) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafeXmpReader.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafeXmpReader.kt index e36402907..603e3edba 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafeXmpReader.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/SafeXmpReader.kt @@ -16,6 +16,7 @@ import com.drew.metadata.xmp.XmpDirectory import com.drew.metadata.xmp.XmpReader import deckers.thibault.aves.utils.LogUtils import java.io.IOException +import java.util.Locale class SafeXmpReader : XmpReader() { // adapted from `XmpReader` to detect and skip large extended XMP @@ -133,7 +134,7 @@ class SafeXmpReader : XmpReader() { System.arraycopy(segmentBytes, totalOffset, extendedXMPBuffer, chunkOffset, segmentLength - totalOffset) } else { val directory = XmpDirectory() - directory.addError(String.format("Inconsistent length for the Extended XMP buffer: %d instead of %d", fullLength, extendedXMPBuffer.size)) + directory.addError(String.format(Locale.ROOT, "Inconsistent length for the Extended XMP buffer: %d instead of %d", fullLength, extendedXMPBuffer.size)) metadata.addDirectory(directory) } } diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/mpf/MpfDirectory.kt b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/mpf/MpfDirectory.kt index 53904b56f..c0ea08c38 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/mpf/MpfDirectory.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/metadata/metadataextractor/mpf/MpfDirectory.kt @@ -16,8 +16,6 @@ class MpfDirectory : Directory() { return _tagNameMap } - fun getNumberOfImages() = getInt(TAG_NUMBER_OF_IMAGES) - companion object { const val TAG_MPF_VERSION = 0xb000 const val TAG_NUMBER_OF_IMAGES = 0xb001 diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/model/AvesEntry.kt b/android/app/src/main/kotlin/deckers/thibault/aves/model/AvesEntry.kt index 424fdb08a..8d41846ab 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/model/AvesEntry.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/model/AvesEntry.kt @@ -15,7 +15,7 @@ class AvesEntry(map: FieldMap) { val trashed = map["trashed"] as Boolean val trashPath = map["trashPath"] as String? - val isRotated: Boolean + private val isRotated: Boolean get() = rotationDegrees % 180 == 90 val displayWidth: Int diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/FlutterUtils.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/FlutterUtils.kt index d3c56d23c..e7b179259 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/FlutterUtils.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/FlutterUtils.kt @@ -1,8 +1,6 @@ package deckers.thibault.aves.utils import android.content.Context -import android.content.Intent -import android.os.Build import android.os.Handler import android.os.Looper import android.util.Log @@ -71,29 +69,4 @@ object FlutterUtils { r.run() } } - - fun Intent.enableSoftwareRendering() { - putExtra("enable-software-rendering", true) - Log.i(LOG_TAG, "Enable software rendering") - } - - fun isSoftwareRenderingRequired() = Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT && isEmulator - - private val isEmulator: Boolean - get() = (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic") - || Build.FINGERPRINT.startsWith("generic") - || Build.FINGERPRINT.startsWith("unknown") - || Build.HARDWARE.contains("goldfish") - || Build.HARDWARE.contains("ranchu") - || Build.MODEL.contains("google_sdk") - || Build.MODEL.contains("Emulator") - || Build.MODEL.contains("Android SDK built for x86") - || Build.MANUFACTURER.contains("Genymotion") - || Build.PRODUCT.contains("sdk_google") - || Build.PRODUCT.contains("google_sdk") - || Build.PRODUCT.contains("sdk") - || Build.PRODUCT.contains("sdk_x86") - || Build.PRODUCT.contains("vbox86p") - || Build.PRODUCT.contains("emulator") - || Build.PRODUCT.contains("simulator")) } \ No newline at end of file diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/PermissionManager.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/PermissionManager.kt index 91e5dd4d5..4ae662b5f 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/PermissionManager.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/PermissionManager.kt @@ -28,7 +28,6 @@ object PermissionManager { Environment.DIRECTORY_PICTURES, ) - @RequiresApi(Build.VERSION_CODES.LOLLIPOP) suspend fun requestDirectoryAccess(activity: Activity, path: String, onGranted: (uri: Uri) -> Unit, onDenied: () -> Unit) { Log.i(LOG_TAG, "request user to select and grant access permission to path=$path") @@ -151,7 +150,6 @@ object PermissionManager { } } - @RequiresApi(Build.VERSION_CODES.LOLLIPOP) fun revokeDirectoryAccess(context: Context, path: String): Boolean { return StorageUtils.convertDirPathToTreeDocumentUri(context, path)?.let { releaseUriPermission(context, it) @@ -162,11 +160,9 @@ object PermissionManager { // returns paths matching directory URIs granted by the user fun getGrantedDirs(context: Context): Set { val grantedDirs = HashSet() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - for (uriPermission in context.contentResolver.persistedUriPermissions) { - val dirPath = StorageUtils.convertTreeDocumentUriToDirPath(context, uriPermission.uri) - dirPath?.let { grantedDirs.add(it) } - } + for (uriPermission in context.contentResolver.persistedUriPermissions) { + val dirPath = StorageUtils.convertTreeDocumentUriToDirPath(context, uriPermission.uri) + dirPath?.let { grantedDirs.add(it) } } return grantedDirs } @@ -216,19 +212,6 @@ object PermissionManager { ) }) } - } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT - || Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT_WATCH - ) { - // removable storage requires access permission, at the file level - // without directory access, we consider the whole volume restricted - val primaryVolume = StorageUtils.getPrimaryVolumePath(context) - val nonPrimaryVolumes = StorageUtils.getVolumePaths(context).filter { it != primaryVolume } - dirs.addAll(nonPrimaryVolumes.map { - hashMapOf( - "volumePath" to it, - "relativeDir" to "", - ) - }) } return dirs } @@ -236,7 +219,6 @@ object PermissionManager { // As of Android 11, `MediaStore.getDocumentUri` fails if any of the persisted // URI permissions we hold points to a folder that no longer exists, // so we should remove these obsolete URIs before proceeding. - @RequiresApi(Build.VERSION_CODES.LOLLIPOP) fun sanitizePersistedUriPermissions(context: Context) { try { for (uriPermission in context.contentResolver.persistedUriPermissions) { @@ -252,7 +234,6 @@ object PermissionManager { } } - @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private fun releaseUriPermission(context: Context, it: Uri) { val flags = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION context.contentResolver.releasePersistableUriPermission(it, flags) diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt index a24cceda8..ff888a95f 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/StorageUtils.kt @@ -16,7 +16,6 @@ import android.provider.DocumentsContract import android.provider.MediaStore import android.text.TextUtils import android.util.Log -import androidx.annotation.RequiresApi import com.commonsware.cwac.document.DocumentFileCompat import deckers.thibault.aves.model.provider.ImageProvider import deckers.thibault.aves.utils.FileUtils.transferFrom @@ -29,7 +28,7 @@ import java.io.FileInputStream import java.io.IOException import java.io.InputStream import java.io.OutputStream -import java.util.* +import java.util.Locale import java.util.regex.Pattern object StorageUtils { @@ -381,7 +380,6 @@ object StorageUtils { // e.g. // /storage/emulated/0/ -> content://com.android.externalstorage.documents/tree/primary%3A // /storage/10F9-3F13/Pictures/ -> content://com.android.externalstorage.documents/tree/10F9-3F13%3APictures - @RequiresApi(Build.VERSION_CODES.LOLLIPOP) fun convertDirPathToTreeDocumentUri(context: Context, dirPath: String): Uri? { val uuid = getVolumeUuidForDocumentUri(context, dirPath) if (uuid != null) { @@ -446,7 +444,7 @@ object StorageUtils { fun getDocumentFile(context: Context, anyPath: String, mediaUri: Uri): DocumentFileCompat? { try { - if (requireAccessPermission(context, anyPath) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + if (requireAccessPermission(context, anyPath)) { // need a document URI (not a media content URI) to open a `DocumentFile` output stream if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && isMediaStoreContentUri(mediaUri)) { // cleanest API to get it @@ -485,7 +483,7 @@ object StorageUtils { fun createDirectoryDocIfAbsent(context: Context, dirPath: String): DocumentFileCompat? { try { val cleanDirPath = ensureTrailingSeparator(dirPath) - return if (requireAccessPermission(context, cleanDirPath) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + return if (requireAccessPermission(context, cleanDirPath)) { val grantedDir = getGrantedDirForPath(context, cleanDirPath) ?: return null val rootTreeDocumentUri = convertDirPathToTreeDocumentUri(context, grantedDir) ?: return null var parentFile: DocumentFileCompat? = DocumentFileCompat.fromTreeUri(context, rootTreeDocumentUri) ?: return null diff --git a/android/exifinterface/build.gradle b/android/exifinterface/build.gradle index 76ba4c97f..88a67339e 100644 --- a/android/exifinterface/build.gradle +++ b/android/exifinterface/build.gradle @@ -26,5 +26,5 @@ android { } dependencies { - implementation 'androidx.annotation:annotation:1.7.1' + implementation 'androidx.annotation:annotation:1.8.0' } \ No newline at end of file diff --git a/lib/theme/themes.dart b/lib/theme/themes.dart index 6875c6ae0..f1d14873b 100644 --- a/lib/theme/themes.dart +++ b/lib/theme/themes.dart @@ -1,4 +1,3 @@ - import 'package:aves/widgets/aves_app.dart'; import 'package:aves_utils/aves_utils.dart'; import 'package:flutter/material.dart'; @@ -26,16 +25,21 @@ class Themes { } } - static Color _schemeCardLayer(ColorScheme colors) => ElevationOverlay.applySurfaceTint(colors.surface, colors.surfaceTint, 1); + static bool _isDarkTheme(ColorScheme colors) => colors.brightness == Brightness.dark && colors.surface != Colors.black; + + static Color firstLayerColor(BuildContext context) => _schemeFirstLayer(Theme.of(context).colorScheme); + + static Color _schemeFirstLayer(ColorScheme colors) => _isDarkTheme(colors) ? colors.surfaceContainer : colors.surface; + + static Color _schemeCardLayer(ColorScheme colors) => _isDarkTheme(colors) ? _schemeSecondLayer(colors) : colors.surfaceContainerLow; static Color secondLayerColor(BuildContext context) => _schemeSecondLayer(Theme.of(context).colorScheme); - // `DialogTheme` M3 defaults use `6.0` elevation - static Color _schemeSecondLayer(ColorScheme colors) => ElevationOverlay.applySurfaceTint(colors.surface, colors.surfaceTint, 6); + static Color _schemeSecondLayer(ColorScheme colors) => _isDarkTheme(colors) ? colors.surfaceContainerHigh : colors.surfaceContainer; static Color thirdLayerColor(BuildContext context) => _schemeThirdLayer(Theme.of(context).colorScheme); - static Color _schemeThirdLayer(ColorScheme colors) => ElevationOverlay.applySurfaceTint(colors.surface, colors.surfaceTint, 12); + static Color _schemeThirdLayer(ColorScheme colors) => _isDarkTheme(colors) ? colors.surfaceContainerHighest : colors.surfaceContainerHigh; static Color _unselectedWidgetColor(ColorScheme colors) => colors.onSurface.withOpacity(0.6); @@ -55,14 +59,15 @@ class Themes { colorScheme: colors, dividerColor: colors.outlineVariant, indicatorColor: colors.primary, - scaffoldBackgroundColor: colors.background, + scaffoldBackgroundColor: _schemeFirstLayer(colors), // TYPOGRAPHY & ICONOGRAPHY typography: _typography, // COMPONENT THEMES checkboxTheme: _checkboxTheme(colors), + drawerTheme: _drawerTheme(colors), floatingActionButtonTheme: _floatingActionButtonTheme(colors), navigationRailTheme: NavigationRailThemeData( - backgroundColor: colors.background, + backgroundColor: _schemeFirstLayer(colors), selectedIconTheme: IconThemeData(color: colors.primary), unselectedIconTheme: IconThemeData(color: _unselectedWidgetColor(colors)), selectedLabelTextStyle: TextStyle(color: colors.primary), @@ -78,16 +83,21 @@ class Themes { side: BorderSide(width: 2.0, color: _unselectedWidgetColor(colors)), ); + static DrawerThemeData _drawerTheme(ColorScheme colors) => DrawerThemeData( + backgroundColor: _schemeSecondLayer(colors), + ); + static const _listTileTheme = ListTileThemeData( contentPadding: EdgeInsets.symmetric(horizontal: 16), ); static PopupMenuThemeData _popupMenuTheme(ColorScheme colors, TextTheme textTheme) { return PopupMenuThemeData( - labelTextStyle: MaterialStateProperty.resolveWith((states) { + color: _schemeSecondLayer(colors), + labelTextStyle: WidgetStateProperty.resolveWith((states) { // adapted from M3 defaults final TextStyle style = textTheme.labelLarge!; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return style.apply(color: colors.onSurface.withOpacity(0.38)); } return style.apply(color: colors.onSurface); @@ -105,23 +115,23 @@ class Themes { // adapted from M3 defaults static RadioThemeData _radioTheme(ColorScheme colors) => RadioThemeData( - fillColor: MaterialStateProperty.resolveWith((states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.disabled)) { return colors.onSurface.withOpacity(0.38); } return colors.primary; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return colors.onSurface; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return colors.onSurface; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return colors.onSurface; } return _unselectedWidgetColor(colors); @@ -166,13 +176,15 @@ class Themes { textTheme: textTheme, // COMPONENT THEMES appBarTheme: AppBarTheme( + backgroundColor: _schemeFirstLayer(colors), // `foregroundColor` is used by icons foregroundColor: _lightActionIconColor, // `titleTextStyle.color` is used by text titleTextStyle: _titleTextStyle.copyWith(color: _lightTitleColor), - systemOverlayStyle: deviceInitialized ? AvesApp.systemUIStyleForBrightness(colors.brightness, colors.background) : null, + systemOverlayStyle: deviceInitialized ? AvesApp.systemUIStyleForBrightness(colors.brightness, _schemeFirstLayer(colors)) : null, ), dialogTheme: DialogTheme( + backgroundColor: _schemeSecondLayer(colors), titleTextStyle: _titleTextStyle.copyWith(color: _lightTitleColor), ), listTileTheme: _listTileTheme.copyWith( @@ -217,13 +229,15 @@ class Themes { textTheme: textTheme, // COMPONENT THEMES appBarTheme: AppBarTheme( + backgroundColor: _schemeFirstLayer(colors), // `foregroundColor` is used by icons foregroundColor: _darkTitleColor, // `titleTextStyle.color` is used by text titleTextStyle: _titleTextStyle.copyWith(color: _darkTitleColor), - systemOverlayStyle: deviceInitialized ? AvesApp.systemUIStyleForBrightness(colors.brightness, colors.background) : null, + systemOverlayStyle: deviceInitialized ? AvesApp.systemUIStyleForBrightness(colors.brightness, _schemeFirstLayer(colors)) : null, ), dialogTheme: DialogTheme( + backgroundColor: _schemeSecondLayer(colors), titleTextStyle: _titleTextStyle.copyWith(color: _darkTitleColor), ), listTileTheme: _listTileTheme, @@ -251,13 +265,8 @@ class Themes { static ThemeData blackTheme(Color accentColor, bool deviceInitialized) { final colors = _darkColorScheme(accentColor).copyWith( - background: Colors.black, - ); - final baseTheme = _baseDarkTheme(colors, deviceInitialized); - return baseTheme.copyWith( - appBarTheme: baseTheme.appBarTheme.copyWith( - backgroundColor: colors.background, - ), + surface: Colors.black, ); + return _baseDarkTheme(colors, deviceInitialized); } } diff --git a/lib/widgets/about/about_tv_page.dart b/lib/widgets/about/about_tv_page.dart index 04ebd24c8..e8f0d8c68 100644 --- a/lib/widgets/about/about_tv_page.dart +++ b/lib/widgets/about/about_tv_page.dart @@ -1,4 +1,5 @@ import 'package:aves/model/device.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/about/app_ref.dart'; import 'package:aves/widgets/about/credits.dart'; import 'package:aves/widgets/about/translators.dart'; @@ -192,7 +193,7 @@ class _ContentState extends State<_Content> { return Theme( data: theme.copyWith( listTileTheme: listTileTheme.copyWith( - tileColor: theme.colorScheme.background, + tileColor: Themes.firstLayerColor(context), ), ), child: const TvLicensePage(), diff --git a/lib/widgets/about/licenses.dart b/lib/widgets/about/licenses.dart index 4bdad8da7..3661364a3 100644 --- a/lib/widgets/about/licenses.dart +++ b/lib/widgets/about/licenses.dart @@ -2,6 +2,7 @@ import 'package:aves/app_flavor.dart'; import 'package:aves/model/app/dependencies.dart'; import 'package:aves/ref/brand_colors.dart'; import 'package:aves/theme/colors.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/about/title.dart'; import 'package:aves/widgets/common/basic/link_chip.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; @@ -87,8 +88,8 @@ class _LicensesState extends State { MaterialPageRoute( builder: (context) => Theme( data: Theme.of(context).copyWith( - // as of Flutter v3.7.8, `cardColor` is used as a background color by `LicensePage` - cardColor: Theme.of(context).colorScheme.background, + // as of Flutter v3.22.0, `cardColor` is used as a background color by `LicensePage` + cardColor: Themes.firstLayerColor(context), ), child: const LicensePage(), ), diff --git a/lib/widgets/about/translators.dart b/lib/widgets/about/translators.dart index 43903893f..2e582a454 100644 --- a/lib/widgets/about/translators.dart +++ b/lib/widgets/about/translators.dart @@ -31,7 +31,7 @@ class AboutTranslators extends StatelessWidget { static Widget buildBody(BuildContext context) { return _RandomTextSpanHighlighter( spans: Contributors.translators.map((v) => v.name).toList(), - color: Theme.of(context).colorScheme.onBackground, + color: Theme.of(context).colorScheme.onSurface, ); } } diff --git a/lib/widgets/about/tv_license_page.dart b/lib/widgets/about/tv_license_page.dart index e487f9760..e40b67d26 100644 --- a/lib/widgets/about/tv_license_page.dart +++ b/lib/widgets/about/tv_license_page.dart @@ -1,5 +1,6 @@ import 'dart:developer' show Flow, Timeline; +import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/behaviour/intents.dart'; import 'package:flutter/foundation.dart'; @@ -77,7 +78,7 @@ class _TvLicensePageState extends State { final isSelected = index == selectedIndex; final theme = Theme.of(context); return Ink( - color: isSelected ? theme.highlightColor : theme.colorScheme.background, + color: isSelected ? theme.highlightColor : Themes.firstLayerColor(context), child: ListTile( title: Text(packageName), subtitle: Text(MaterialLocalizations.of(context).licensesPackageDetailText(bindings.length)), @@ -298,7 +299,7 @@ class _PackageLicensePageState extends State<_PackageLicensePage> { ), body: Center( child: Material( - color: theme.colorScheme.background, + color: Themes.firstLayerColor(context), elevation: 4.0, child: Container( constraints: BoxConstraints.loose(const Size.fromWidth(600.0)), @@ -328,7 +329,7 @@ class _PackageLicensePageState extends State<_PackageLicensePage> { SliverAppBar( automaticallyImplyLeading: false, pinned: true, - backgroundColor: theme.colorScheme.background, + backgroundColor: Themes.firstLayerColor(context), title: _PackageLicensePageTitle( title: title, subtitle: subtitle, diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index c86b02c0c..1a853f8e1 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -96,12 +96,12 @@ class AvesApp extends StatefulWidget { State createState() => _AvesAppState(); static void setSystemUIStyle(ThemeData theme) { - final style = systemUIStyleForBrightness(theme.brightness, theme.colorScheme.background); + final style = systemUIStyleForBrightness(theme.brightness, theme.colorScheme.surfaceContainer); SystemChrome.setSystemUIOverlayStyle(style); } static SystemUiOverlayStyle systemUIStyleForBrightness(Brightness themeBrightness, Color backgroundColor) { - final barBrightness = themeBrightness == Brightness.light ? Brightness.dark : Brightness.light; + final barBrightness = themeBrightness == Brightness.dark ? Brightness.light : Brightness.dark; const statusBarColor = Colors.transparent; // as of Flutter v3.3.0-0.2.pre, setting `SystemUiOverlayStyle` (whether manually or automatically because of `AppBar`) // prevents the canvas from drawing behind the nav bar on Android <10 (API <29), diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index 5959b4745..90495cb1f 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -87,7 +87,7 @@ mixin FeedbackMixin { action: action != null ? TextButton( style: ButtonStyle( - foregroundColor: MaterialStateProperty.all(snackBarTheme.actionTextColor), + foregroundColor: WidgetStateProperty.all(snackBarTheme.actionTextColor), ), onPressed: () { notificationOverlayEntry?.dismiss(); diff --git a/lib/widgets/common/action_mixins/overlay_snack_bar.dart b/lib/widgets/common/action_mixins/overlay_snack_bar.dart index 4ca2ef6c3..97a71a97c 100644 --- a/lib/widgets/common/action_mixins/overlay_snack_bar.dart +++ b/lib/widgets/common/action_mixins/overlay_snack_bar.dart @@ -132,12 +132,10 @@ class _OverlaySnackBarState extends State { primary: colorScheme.onPrimary, secondary: buttonColor, surface: colorScheme.onSurface, - background: defaults.backgroundColor!, error: colorScheme.onError, onPrimary: colorScheme.primary, onSecondary: colorScheme.secondary, onSurface: colorScheme.surface, - onBackground: colorScheme.background, onError: colorScheme.error, brightness: brightness, ), @@ -363,17 +361,17 @@ class _SnackbarDefaultsM3 extends SnackBarThemeData { Color get backgroundColor => _colors.inverseSurface; @override - Color get actionTextColor => MaterialStateColor.resolveWith((states) { - if (states.contains(MaterialState.disabled)) { + Color get actionTextColor => WidgetStateColor.resolveWith((states) { + if (states.contains(WidgetState.disabled)) { return _colors.inversePrimary; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.inversePrimary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.inversePrimary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.inversePrimary; } return _colors.inversePrimary; diff --git a/lib/widgets/common/basic/markdown_container.dart b/lib/widgets/common/basic/markdown_container.dart index 613680250..de44dcd4f 100644 --- a/lib/widgets/common/basic/markdown_container.dart +++ b/lib/widgets/common/basic/markdown_container.dart @@ -38,7 +38,7 @@ class MarkdownContainer extends StatelessWidget { child = Theme( data: Theme.of(context).copyWith( scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.all(true), + thumbVisibility: WidgetStateProperty.all(true), radius: const Radius.circular(16), crossAxisMargin: 6, mainAxisMargin: 16, diff --git a/lib/widgets/common/basic/popup/expansion_panel.dart b/lib/widgets/common/basic/popup/expansion_panel.dart index 3d4501def..63bc94e6a 100644 --- a/lib/widgets/common/basic/popup/expansion_panel.dart +++ b/lib/widgets/common/basic/popup/expansion_panel.dart @@ -46,8 +46,8 @@ class _PopupMenuExpansionPanelState extends State> @override Widget build(BuildContext context) { final style = PopupMenuTheme.of(context).labelTextStyle!.resolve( - { - if (!widget.enabled) MaterialState.disabled, + { + if (!widget.enabled) WidgetState.disabled, }, )!; final animationDuration = context.select((v) => v.expansionTileAnimation); diff --git a/lib/widgets/common/basic/wheel.dart b/lib/widgets/common/basic/wheel.dart index 6007e9dfd..8570b2415 100644 --- a/lib/widgets/common/basic/wheel.dart +++ b/lib/widgets/common/basic/wheel.dart @@ -103,7 +103,7 @@ class _WheelSelectorState extends State> { child: Theme( data: Theme.of(context).copyWith( scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.all(false), + thumbVisibility: WidgetStateProperty.all(false), ), ), child: ListWheelScrollView( diff --git a/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart b/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart index 13d372f95..cb8defc1c 100644 --- a/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart +++ b/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart @@ -51,7 +51,7 @@ class MosaicScaleOverlay extends StatelessWidget { child: Stack( alignment: Alignment.center, children: [ - _buildBar(extentMax, colorScheme.onBackground.withOpacity(.2)), + _buildBar(extentMax, colorScheme.onSurface.withOpacity(.2)), _buildBar(scaledSize.width, colorScheme.primary), ], ), diff --git a/lib/widgets/common/identity/aves_app_bar.dart b/lib/widgets/common/identity/aves_app_bar.dart index 01664c414..357c502d7 100644 --- a/lib/widgets/common/identity/aves_app_bar.dart +++ b/lib/widgets/common/identity/aves_app_bar.dart @@ -1,5 +1,6 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/durations.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/aves_app.dart'; import 'package:aves/widgets/common/basic/font_size_icon_theme.dart'; import 'package:aves/widgets/common/basic/insets.dart'; @@ -227,7 +228,7 @@ class _AvesFloatingBarState extends State with RouteAware { @override Widget build(BuildContext context) { final theme = Theme.of(context); - final backgroundColor = theme.appBarTheme.backgroundColor ?? theme.colorScheme.surface; + final backgroundColor = theme.appBarTheme.backgroundColor ?? Themes.firstLayerColor(context); return ValueListenableBuilder( valueListenable: _isBlurAllowedNotifier, builder: (context, isBlurAllowed, child) { diff --git a/lib/widgets/common/identity/aves_caption.dart b/lib/widgets/common/identity/aves_caption.dart index 095caff9e..5a53ad17f 100644 --- a/lib/widgets/common/identity/aves_caption.dart +++ b/lib/widgets/common/identity/aves_caption.dart @@ -15,7 +15,7 @@ class AvesCaption extends StatelessWidget { Widget build(BuildContext context) { final theme = Theme.of(context); final subtitleStyle = theme.textTheme.bodySmall!; - final subtitleChangeShadowColor = theme.colorScheme.onBackground; + final subtitleChangeShadowColor = theme.colorScheme.onSurface; return ChangeHighlightText( // provide key to refresh on theme brightness change key: ValueKey(subtitleChangeShadowColor), diff --git a/lib/widgets/common/identity/aves_expansion_tile.dart b/lib/widgets/common/identity/aves_expansion_tile.dart index 92c8aa18b..ad856f693 100644 --- a/lib/widgets/common/identity/aves_expansion_tile.dart +++ b/lib/widgets/common/identity/aves_expansion_tile.dart @@ -1,4 +1,5 @@ import 'package:aves/theme/durations.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/common/identity/highlight_title.dart'; import 'package:expansion_tile_card/expansion_tile_card.dart'; import 'package:flutter/material.dart'; @@ -56,7 +57,7 @@ class AvesExpansionTile extends StatelessWidget { expandable: enabled, initiallyExpanded: initiallyExpanded, finalPadding: const EdgeInsets.symmetric(vertical: 6.0), - baseColor: theme.colorScheme.background, + baseColor: Themes.firstLayerColor(context), expandedTextColor: colorScheme.onSurface, duration: animationDuration, shadowColor: theme.shadowColor, diff --git a/lib/widgets/common/identity/aves_filter_chip.dart b/lib/widgets/common/identity/aves_filter_chip.dart index e8d230fce..84c353497 100644 --- a/lib/widgets/common/identity/aves_filter_chip.dart +++ b/lib/widgets/common/identity/aves_filter_chip.dart @@ -12,6 +12,7 @@ import 'package:aves/model/settings/enums/accessibility_animations.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/colors.dart'; import 'package:aves/theme/icons.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/view/view.dart'; import 'package:aves/widgets/collection/filter_bar.dart'; import 'package:aves/widgets/common/basic/font_size_icon_theme.dart'; @@ -48,6 +49,7 @@ class AvesFilterChip extends StatefulWidget { final CollectionFilter filter; final bool showText, showGenericIcon, useFilterColor; final AvesFilterDecoration? decoration; + final Color? background; final String? banner; final Widget? leadingOverride, details; final double padding; @@ -71,6 +73,7 @@ class AvesFilterChip extends StatefulWidget { this.showGenericIcon = true, this.useFilterColor = true, this.decoration, + this.background, this.banner, this.leadingOverride, this.details, @@ -233,7 +236,7 @@ class _AvesFilterChipState extends State { @override Widget build(BuildContext context) { final decoration = widget.decoration; - final chipBackground = Theme.of(context).colorScheme.background; + final chipBackground = widget.background ?? Themes.firstLayerColor(context); final onTap = widget.onTap != null ? () { diff --git a/lib/widgets/common/identity/buttons/outlined_button.dart b/lib/widgets/common/identity/buttons/outlined_button.dart index 9d4299cb1..428089ab9 100644 --- a/lib/widgets/common/identity/buttons/outlined_button.dart +++ b/lib/widgets/common/identity/buttons/outlined_button.dart @@ -16,13 +16,13 @@ class AvesOutlinedButton extends StatelessWidget { Widget build(BuildContext context) { final theme = Theme.of(context); final style = ButtonStyle( - side: MaterialStateProperty.resolveWith((states) { + side: WidgetStateProperty.resolveWith((states) { return BorderSide( - color: states.contains(MaterialState.disabled) ? theme.disabledColor : theme.colorScheme.primary, + color: states.contains(WidgetState.disabled) ? theme.disabledColor : theme.colorScheme.primary, ); }), - foregroundColor: MaterialStateProperty.resolveWith((states) { - return states.contains(MaterialState.disabled) ? theme.disabledColor : theme.colorScheme.onBackground; + foregroundColor: WidgetStateProperty.resolveWith((states) { + return states.contains(WidgetState.disabled) ? theme.disabledColor : theme.colorScheme.onSurface; }), ); return icon != null diff --git a/lib/widgets/common/identity/buttons/overlay_button.dart b/lib/widgets/common/identity/buttons/overlay_button.dart index e9fa810aa..839a5513f 100644 --- a/lib/widgets/common/identity/buttons/overlay_button.dart +++ b/lib/widgets/common/identity/buttons/overlay_button.dart @@ -161,7 +161,7 @@ class OverlayTextButton extends StatelessWidget { }); static const _borderRadius = 123.0; - static final _minSize = MaterialStateProperty.all(const Size(kMinInteractiveDimension, kMinInteractiveDimension)); + static final _minSize = WidgetStateProperty.all(const Size(kMinInteractiveDimension, kMinInteractiveDimension)); @override Widget build(BuildContext context) { @@ -173,12 +173,12 @@ class OverlayTextButton extends StatelessWidget { child: OutlinedButton( onPressed: onPressed, style: ButtonStyle( - backgroundColor: MaterialStateProperty.all(Themes.overlayBackgroundColor(brightness: theme.brightness, blurred: blurred)), - foregroundColor: MaterialStateProperty.all(theme.colorScheme.onSurface), - overlayColor: theme.isDark ? MaterialStateProperty.all(Colors.white.withOpacity(0.12)) : null, + backgroundColor: WidgetStateProperty.all(Themes.overlayBackgroundColor(brightness: theme.brightness, blurred: blurred)), + foregroundColor: WidgetStateProperty.all(theme.colorScheme.onSurface), + overlayColor: theme.isDark ? WidgetStateProperty.all(Colors.white.withOpacity(0.12)) : null, minimumSize: _minSize, - side: MaterialStateProperty.all(AvesBorder.curvedSide(context)), - shape: MaterialStateProperty.all(const RoundedRectangleBorder( + side: WidgetStateProperty.all(AvesBorder.curvedSide(context)), + shape: WidgetStateProperty.all(const RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(_borderRadius)), )), ), diff --git a/lib/widgets/common/identity/highlight_title.dart b/lib/widgets/common/identity/highlight_title.dart index 1882dc322..76c1fa4c9 100644 --- a/lib/widgets/common/identity/highlight_title.dart +++ b/lib/widgets/common/identity/highlight_title.dart @@ -1,6 +1,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/colors.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/common/basic/text/outlined.dart'; import 'package:aves/widgets/common/extensions/theme.dart'; import 'package:aves/widgets/common/fx/highlight_decoration.dart'; @@ -61,7 +62,7 @@ class HighlightTitle extends StatelessWidget { style: style, ), ], - outlineColor: Theme.of(context).colorScheme.background, + outlineColor: Themes.firstLayerColor(context), softWrap: false, overflow: TextOverflow.fade, maxLines: 1, diff --git a/lib/widgets/common/map/buttons/coordinate_filter.dart b/lib/widgets/common/map/buttons/coordinate_filter.dart index 938abb715..df2f3661b 100644 --- a/lib/widgets/common/map/buttons/coordinate_filter.dart +++ b/lib/widgets/common/map/buttons/coordinate_filter.dart @@ -60,49 +60,43 @@ class _OverlayCoordinateFilterChipState extends State>( + selector: (context, v) => v.scale, + builder: (context, scale, child) => SizeTransition( + sizeFactor: scale, + axisAlignment: 1, + child: FadeTransition( + opacity: scale, + child: child, + ), ), - ), - child: Align( - alignment: Alignment.topLeft, - child: Selector>( - selector: (context, v) => v.scale, - builder: (context, scale, child) => SizeTransition( - sizeFactor: scale, - axisAlignment: 1, - child: FadeTransition( - opacity: scale, - child: child, - ), - ), - child: ValueListenableBuilder( - valueListenable: _idleBoundsNotifier, - builder: (context, bounds, child) { - if (bounds == null) return const SizedBox(); - final filter = CoordinateFilter( - bounds.sw, - bounds.ne, - // more stable format when bounds change - minuteSecondPadding: true, - ); - return Padding( - padding: EdgeInsets.all(widget.padding), - child: BlurredRRect.all( - enabled: blurred, - borderRadius: AvesFilterChip.defaultRadius, - child: AvesFilterChip( - filter: filter, - useFilterColor: false, - maxWidth: double.infinity, - onTap: (filter) => FilterSelectedNotification(CoordinateFilter(bounds.sw, bounds.ne)).dispatch(context), - ), + child: ValueListenableBuilder( + valueListenable: _idleBoundsNotifier, + builder: (context, bounds, child) { + if (bounds == null) return const SizedBox(); + final filter = CoordinateFilter( + bounds.sw, + bounds.ne, + // more stable format when bounds change + minuteSecondPadding: true, + ); + return Padding( + padding: EdgeInsets.all(widget.padding), + child: BlurredRRect.all( + enabled: blurred, + borderRadius: AvesFilterChip.defaultRadius, + child: AvesFilterChip( + filter: filter, + useFilterColor: false, + background: Themes.overlayBackgroundColor(brightness: theme.brightness, blurred: blurred), + maxWidth: double.infinity, + onTap: (filter) => FilterSelectedNotification(CoordinateFilter(bounds.sw, bounds.ne)).dispatch(context), ), - ); - }, - ), + ), + ); + }, ), ), ); diff --git a/lib/widgets/common/thumbnail/error.dart b/lib/widgets/common/thumbnail/error.dart index f6064f4e8..9acc11b09 100644 --- a/lib/widgets/common/thumbnail/error.dart +++ b/lib/widgets/common/thumbnail/error.dart @@ -67,7 +67,7 @@ class _ErrorThumbnailState extends State { } return Container( alignment: Alignment.center, - color: Theme.of(context).colorScheme.background, + color: Themes.firstLayerColor(context), width: extent, height: extent, child: child, diff --git a/lib/widgets/debug/colors.dart b/lib/widgets/debug/colors.dart index 2b37bd3eb..52bebdc38 100644 --- a/lib/widgets/debug/colors.dart +++ b/lib/widgets/debug/colors.dart @@ -20,23 +20,39 @@ class _DebugColorSectionState extends State with AutomaticKee ('onPrimary', scheme.onPrimary), ('primaryContainer', scheme.primaryContainer), ('onPrimaryContainer', scheme.onPrimaryContainer), + ('primaryFixed', scheme.primaryFixed), + ('primaryFixedDim', scheme.primaryFixedDim), + ('onPrimaryFixed', scheme.onPrimaryFixed), + ('onPrimaryFixedVariant', scheme.onPrimaryFixedVariant), ('secondary', scheme.secondary), ('onSecondary', scheme.onSecondary), ('secondaryContainer', scheme.secondaryContainer), ('onSecondaryContainer', scheme.onSecondaryContainer), + ('secondaryFixed', scheme.secondaryFixed), + ('secondaryFixedDim', scheme.secondaryFixedDim), + ('onSecondaryFixed', scheme.onSecondaryFixed), + ('onSecondaryFixedVariant', scheme.onSecondaryFixedVariant), ('tertiary', scheme.tertiary), ('onTertiary', scheme.onTertiary), ('tertiaryContainer', scheme.tertiaryContainer), ('onTertiaryContainer', scheme.onTertiaryContainer), + ('tertiaryFixed', scheme.tertiaryFixed), + ('tertiaryFixedDim', scheme.tertiaryFixedDim), + ('onTertiaryFixed', scheme.onTertiaryFixed), + ('onTertiaryFixedVariant', scheme.onTertiaryFixedVariant), ('error', scheme.error), ('onError', scheme.onError), ('errorContainer', scheme.errorContainer), ('onErrorContainer', scheme.onErrorContainer), - ('background', scheme.background), - ('onBackground', scheme.onBackground), ('surface', scheme.surface), ('onSurface', scheme.onSurface), - ('surfaceVariant', scheme.surfaceVariant), + ('surfaceDim', scheme.surfaceDim), + ('surfaceBright', scheme.surfaceBright), + ('surfaceContainerLowest', scheme.surfaceContainerLowest), + ('surfaceContainerLow', scheme.surfaceContainerLow), + ('surfaceContainer', scheme.surfaceContainer), + ('surfaceContainerHigh', scheme.surfaceContainerHigh), + ('surfaceContainerHighest', scheme.surfaceContainerHighest), ('onSurfaceVariant', scheme.onSurfaceVariant), ('outline', scheme.outline), ('outlineVariant', scheme.outlineVariant), diff --git a/lib/widgets/dialogs/aves_dialog.dart b/lib/widgets/dialogs/aves_dialog.dart index 4279be0f6..924f96102 100644 --- a/lib/widgets/dialogs/aves_dialog.dart +++ b/lib/widgets/dialogs/aves_dialog.dart @@ -74,7 +74,7 @@ class AvesDialog extends StatelessWidget { child = Theme( data: Theme.of(context).copyWith( scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.all(true), + thumbVisibility: WidgetStateProperty.all(true), radius: const Radius.circular(16), crossAxisMargin: 4, // adapt margin when corner is around content itself, not outside for the title diff --git a/lib/widgets/dialogs/convert_entry_dialog.dart b/lib/widgets/dialogs/convert_entry_dialog.dart index ef9ffc8f8..5576aace9 100644 --- a/lib/widgets/dialogs/convert_entry_dialog.dart +++ b/lib/widgets/dialogs/convert_entry_dialog.dart @@ -99,7 +99,7 @@ class _ConvertEntryDialogState extends State { const contentHorizontalPadding = EdgeInsets.symmetric(horizontal: AvesDialog.defaultHorizontalContentPadding); final colorScheme = Theme.of(context).colorScheme; final trailingStyle = TextStyle(color: colorScheme.onSurfaceVariant); - final trailingChangeShadowColor = colorScheme.onBackground; + final trailingChangeShadowColor = colorScheme.onSurface; // used by the drop down to match input decoration final textFieldDecorationBorder = Border( diff --git a/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart b/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart index 272b9576b..7ed6cb274 100644 --- a/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/remove_metadata_dialog.dart @@ -2,6 +2,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/ref/brand_colors.dart'; import 'package:aves/theme/colors.dart'; import 'package:aves/theme/durations.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/view/view.dart'; import 'package:aves/widgets/common/basic/text/outlined.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; @@ -113,7 +114,7 @@ class _RemoveEntryMetadataDialogState extends State { ), ), ], - outlineColor: Theme.of(context).colorScheme.background, + outlineColor: Themes.firstLayerColor(context), ); if (context.select((v) => v.themeColorMode == AvesThemeColorMode.polychrome)) { final colors = context.watch(); diff --git a/lib/widgets/dialogs/filter_editors/pattern_dialog.dart b/lib/widgets/dialogs/filter_editors/pattern_dialog.dart index 4518c75db..7bfd49a8a 100644 --- a/lib/widgets/dialogs/filter_editors/pattern_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/pattern_dialog.dart @@ -36,7 +36,7 @@ class _PatternDialogState extends State { child: PatternLock( relativePadding: .4, selectedColor: colorScheme.primary, - notSelectedColor: colorScheme.onBackground, + notSelectedColor: colorScheme.onSurface, pointRadius: 8, fillPoints: true, onInputComplete: (input) => _submit(input.join()), diff --git a/lib/widgets/dialogs/filter_editors/pin_dialog.dart b/lib/widgets/dialogs/filter_editors/pin_dialog.dart index 04b9d206b..00b8bc2a8 100644 --- a/lib/widgets/dialogs/filter_editors/pin_dialog.dart +++ b/lib/widgets/dialogs/filter_editors/pin_dialog.dart @@ -50,8 +50,8 @@ class _PinDialogState extends State { autoFocus: true, autoDismissKeyboard: !widget.needConfirmation || _confirming, pinTheme: PinTheme( - activeColor: colorScheme.onBackground, - inactiveColor: colorScheme.onBackground, + activeColor: colorScheme.onSurface, + inactiveColor: colorScheme.onSurface, selectedColor: colorScheme.primary, selectedFillColor: colorScheme.primary, borderRadius: BorderRadius.circular(8), diff --git a/lib/widgets/navigation/drawer/app_drawer.dart b/lib/widgets/navigation/drawer/app_drawer.dart index 4d64959ca..7a0978786 100644 --- a/lib/widgets/navigation/drawer/app_drawer.dart +++ b/lib/widgets/navigation/drawer/app_drawer.dart @@ -124,7 +124,7 @@ class _AppDrawerState extends State { final onPrimary = colorScheme.onPrimary; final drawerButtonStyle = ButtonStyle( - padding: MaterialStateProperty.all(const EdgeInsetsDirectional.only(start: 12, end: 16)), + padding: WidgetStateProperty.all(const EdgeInsetsDirectional.only(start: 12, end: 16)), ); return Container( padding: const EdgeInsets.symmetric(horizontal: 16), @@ -163,9 +163,9 @@ class _AppDrawerState extends State { OutlinedButtonTheme( data: OutlinedButtonThemeData( style: ButtonStyle( - foregroundColor: MaterialStateProperty.all(onPrimary), - overlayColor: MaterialStateProperty.all(onPrimary.withOpacity(.12)), - side: MaterialStateProperty.all(BorderSide(width: 1, color: onPrimary.withOpacity(.24))), + foregroundColor: WidgetStateProperty.all(onPrimary), + overlayColor: WidgetStateProperty.all(onPrimary.withOpacity(.12)), + side: WidgetStateProperty.all(BorderSide(width: 1, color: onPrimary.withOpacity(.24))), ), ), child: Wrap( diff --git a/lib/widgets/settings/common/quick_actions/editor_page.dart b/lib/widgets/settings/common/quick_actions/editor_page.dart index 6d6aa5e74..1b13567f6 100644 --- a/lib/widgets/settings/common/quick_actions/editor_page.dart +++ b/lib/widgets/settings/common/quick_actions/editor_page.dart @@ -275,7 +275,7 @@ class _QuickActionEditorBodyState extends State { valueListenable: _indexNotifier, builder: (context, selectedIndex, child) { final rail = NavigationRail( - backgroundColor: Theme.of(context).colorScheme.background, extended: true, destinations: sections .map((section) => NavigationRailDestination( diff --git a/lib/widgets/stats/date/histogram.dart b/lib/widgets/stats/date/histogram.dart index 4147dda96..93db96de7 100644 --- a/lib/widgets/stats/date/histogram.dart +++ b/lib/widgets/stats/date/histogram.dart @@ -5,6 +5,7 @@ import 'package:aves/model/entry/entry.dart'; import 'package:aves/model/entry/sort.dart'; import 'package:aves/model/filters/date.dart'; import 'package:aves/theme/durations.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/utils/time_utils.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/fx/transitions.dart'; @@ -196,11 +197,11 @@ class _HistogramState extends State with AutomaticKeepAliveClientMixi final colorScheme = Theme.of(context).colorScheme; final accentColor = colorScheme.primary; - final axisColor = charts.ColorUtil.fromDartColor(drawPoints ? colorScheme.onBackground : Colors.transparent); - final measureLineColor = charts.ColorUtil.fromDartColor(drawPoints ? colorScheme.onBackground.withOpacity(.1) : Colors.transparent); + final axisColor = charts.ColorUtil.fromDartColor(drawPoints ? colorScheme.onSurface : Colors.transparent); + final measureLineColor = charts.ColorUtil.fromDartColor(drawPoints ? colorScheme.onSurface.withOpacity(.1) : Colors.transparent); final histogramLineColor = charts.ColorUtil.fromDartColor(drawLine ? accentColor : Colors.white); final histogramPointStrikeColor = charts.ColorUtil.fromDartColor(drawPoints ? colorScheme.onSurface : Colors.transparent); - final histogramPointFillColor = charts.ColorUtil.fromDartColor(colorScheme.background); + final histogramPointFillColor = charts.ColorUtil.fromDartColor(Themes.firstLayerColor(context)); final series = [ if (drawLine || drawArea) diff --git a/lib/widgets/stats/percent_text.dart b/lib/widgets/stats/percent_text.dart index 8bdb0b410..362194d12 100644 --- a/lib/widgets/stats/percent_text.dart +++ b/lib/widgets/stats/percent_text.dart @@ -1,4 +1,5 @@ import 'package:aves/theme/styles.dart'; +import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/common/basic/text/outlined.dart'; import 'package:aves/widgets/common/extensions/theme.dart'; import 'package:flutter/material.dart'; @@ -15,17 +16,16 @@ class LinearPercentIndicatorText extends StatelessWidget { @override Widget build(BuildContext context) { - final theme = Theme.of(context); return OutlinedText( textSpans: [ TextSpan( text: percentFormat.format(percent), style: TextStyle( - shadows: theme.isDark ? AStyles.embossShadows : null, + shadows: Theme.of(context).isDark ? AStyles.embossShadows : null, ), ) ], - outlineColor: theme.colorScheme.background, + outlineColor: Themes.firstLayerColor(context), ); } } diff --git a/lib/widgets/viewer/info/info_app_bar.dart b/lib/widgets/viewer/info/info_app_bar.dart index c3c06e24d..a6e8195f0 100644 --- a/lib/widgets/viewer/info/info_app_bar.dart +++ b/lib/widgets/viewer/info/info_app_bar.dart @@ -13,6 +13,7 @@ import 'package:aves/widgets/common/app_bar/sliver_app_bar_title.dart'; import 'package:aves/widgets/common/basic/font_size_icon_theme.dart'; import 'package:aves/widgets/common/basic/popup/menu_row.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; +import 'package:aves/widgets/common/search/route.dart'; import 'package:aves/widgets/viewer/action/entry_info_action_delegate.dart'; import 'package:aves/widgets/viewer/info/info_search.dart'; import 'package:aves/widgets/viewer/info/metadata/metadata_dir.dart'; @@ -112,14 +113,15 @@ class InfoAppBar extends StatelessWidget { void _goToSearch(BuildContext context) { final isSelecting = context.read?>()?.isSelecting ?? false; - showSearch( - context: context, - delegate: InfoSearchDelegate( - searchFieldLabel: context.l10n.viewerInfoSearchFieldLabel, - searchFieldStyle: Themes.searchFieldStyle(context), - entry: entry, - metadataNotifier: metadataNotifier, - isSelecting: isSelecting, + Navigator.maybeOf(context)?.push( + SearchPageRoute( + delegate: InfoSearchDelegate( + searchFieldLabel: context.l10n.viewerInfoSearchFieldLabel, + searchFieldStyle: Themes.searchFieldStyle(context), + entry: entry, + metadataNotifier: metadataNotifier, + isSelecting: isSelecting, + ), ), ); } diff --git a/lib/widgets/viewer/info/info_search.dart b/lib/widgets/viewer/info/info_search.dart index 081f3410b..868d8fda3 100644 --- a/lib/widgets/viewer/info/info_search.dart +++ b/lib/widgets/viewer/info/info_search.dart @@ -3,28 +3,30 @@ import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/empty.dart'; import 'package:aves/widgets/common/providers/media_query_data_provider.dart'; +import 'package:aves/widgets/common/search/delegate.dart'; import 'package:aves/widgets/viewer/info/embedded/embedded_data_opener.dart'; import 'package:aves/widgets/viewer/info/metadata/metadata_dir.dart'; import 'package:aves/widgets/viewer/info/metadata/metadata_dir_tile.dart'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; -class InfoSearchDelegate extends SearchDelegate { +class InfoSearchDelegate extends AvesSearchDelegate { final AvesEntry entry; final ValueNotifier> metadataNotifier; final bool isSelecting; Map get metadata => metadataNotifier.value; + static const pageRouteName = '/info/search'; + InfoSearchDelegate({ - required String searchFieldLabel, - required TextStyle searchFieldStyle, + required super.searchFieldLabel, + required super.searchFieldStyle, required this.entry, required this.metadataNotifier, required this.isSelecting, }) : super( - searchFieldLabel: searchFieldLabel, - searchFieldStyle: searchFieldStyle, + routeName: pageRouteName, ); @override diff --git a/lib/widgets/viewer/info/metadata/tv_page.dart b/lib/widgets/viewer/info/metadata/tv_page.dart index 5ed23345f..f35786505 100644 --- a/lib/widgets/viewer/info/metadata/tv_page.dart +++ b/lib/widgets/viewer/info/metadata/tv_page.dart @@ -64,7 +64,6 @@ class _TvMetadataPageState extends State { if (selectedDir == null) return const SizedBox(); final rail = NavigationRail( - backgroundColor: Theme.of(context).colorScheme.background, extended: true, destinations: titles.mapIndexed((i, title) { final dir = metadata[titles[i]]!; diff --git a/plugins/aves_magnifier/pubspec.lock b/plugins/aves_magnifier/pubspec.lock index 3b88e0c84..953264e76 100644 --- a/plugins/aves_magnifier/pubspec.lock +++ b/plugins/aves_magnifier/pubspec.lock @@ -65,10 +65,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" nested: dependency: transitive description: diff --git a/plugins/aves_map/pubspec.lock b/plugins/aves_map/pubspec.lock index 3562a8256..1ebdf7fbc 100644 --- a/plugins/aves_map/pubspec.lock +++ b/plugins/aves_map/pubspec.lock @@ -153,10 +153,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mgrs_dart: dependency: transitive description: diff --git a/plugins/aves_model/pubspec.lock b/plugins/aves_model/pubspec.lock index d843ac39e..da197cd08 100644 --- a/plugins/aves_model/pubspec.lock +++ b/plugins/aves_model/pubspec.lock @@ -58,10 +58,10 @@ packages: dependency: "direct main" description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" sky_engine: dependency: transitive description: flutter diff --git a/plugins/aves_platform_meta/android/build.gradle b/plugins/aves_platform_meta/android/build.gradle index 65fd014e2..81a5f9038 100644 --- a/plugins/aves_platform_meta/android/build.gradle +++ b/plugins/aves_platform_meta/android/build.gradle @@ -48,6 +48,6 @@ android { } defaultConfig { - minSdk 19 + minSdk 21 } } diff --git a/plugins/aves_platform_meta/pubspec.lock b/plugins/aves_platform_meta/pubspec.lock index bfa3bb41a..4025b66a5 100644 --- a/plugins/aves_platform_meta/pubspec.lock +++ b/plugins/aves_platform_meta/pubspec.lock @@ -50,10 +50,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" plugin_platform_interface: dependency: "direct main" description: diff --git a/plugins/aves_report/pubspec.lock b/plugins/aves_report/pubspec.lock index 3a2eed7cc..cc94229e4 100644 --- a/plugins/aves_report/pubspec.lock +++ b/plugins/aves_report/pubspec.lock @@ -50,10 +50,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" path: dependency: transitive description: diff --git a/plugins/aves_report_console/pubspec.lock b/plugins/aves_report_console/pubspec.lock index 82089249f..34ed3f1ec 100644 --- a/plugins/aves_report_console/pubspec.lock +++ b/plugins/aves_report_console/pubspec.lock @@ -57,10 +57,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" path: dependency: transitive description: diff --git a/plugins/aves_report_crashlytics/pubspec.lock b/plugins/aves_report_crashlytics/pubspec.lock index 864ebd6b1..9af18d598 100644 --- a/plugins/aves_report_crashlytics/pubspec.lock +++ b/plugins/aves_report_crashlytics/pubspec.lock @@ -131,26 +131,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -179,10 +179,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" path: dependency: transitive description: @@ -248,10 +248,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" vector_math: dependency: transitive description: @@ -264,10 +264,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" web: dependency: transitive description: @@ -278,4 +278,4 @@ packages: version: "0.5.1" sdks: dart: ">=3.3.0 <4.0.0" - flutter: ">=3.3.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/plugins/aves_screen_state/android/build.gradle b/plugins/aves_screen_state/android/build.gradle index ccc38ddf9..49286b6ab 100644 --- a/plugins/aves_screen_state/android/build.gradle +++ b/plugins/aves_screen_state/android/build.gradle @@ -48,6 +48,6 @@ android { } defaultConfig { - minSdk 19 + minSdk 21 } } diff --git a/plugins/aves_screen_state/pubspec.lock b/plugins/aves_screen_state/pubspec.lock index bfa3bb41a..4025b66a5 100644 --- a/plugins/aves_screen_state/pubspec.lock +++ b/plugins/aves_screen_state/pubspec.lock @@ -50,10 +50,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" plugin_platform_interface: dependency: "direct main" description: diff --git a/plugins/aves_services/pubspec.lock b/plugins/aves_services/pubspec.lock index df6ae6d57..a67434f32 100644 --- a/plugins/aves_services/pubspec.lock +++ b/plugins/aves_services/pubspec.lock @@ -160,10 +160,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mgrs_dart: dependency: transitive description: diff --git a/plugins/aves_services_google/pubspec.lock b/plugins/aves_services_google/pubspec.lock index da8b95024..ba2772899 100644 --- a/plugins/aves_services_google/pubspec.lock +++ b/plugins/aves_services_google/pubspec.lock @@ -323,10 +323,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mgrs_dart: dependency: transitive description: @@ -464,10 +464,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 url: "https://pub.dev" source: hosted - version: "5.5.0" + version: "5.5.1" win32_registry: dependency: transitive description: @@ -485,5 +485,5 @@ packages: source: hosted version: "2.0.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.0 <4.0.0" flutter: ">=3.19.0" diff --git a/plugins/aves_services_huawei/pubspec.lock b/plugins/aves_services_huawei/pubspec.lock index 1c1ffebb6..f38e4481b 100644 --- a/plugins/aves_services_huawei/pubspec.lock +++ b/plugins/aves_services_huawei/pubspec.lock @@ -199,10 +199,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mgrs_dart: dependency: transitive description: diff --git a/plugins/aves_services_none/pubspec.lock b/plugins/aves_services_none/pubspec.lock index 2ec3901f2..8d96a5e2f 100644 --- a/plugins/aves_services_none/pubspec.lock +++ b/plugins/aves_services_none/pubspec.lock @@ -167,10 +167,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mgrs_dart: dependency: transitive description: diff --git a/plugins/aves_ui/pubspec.lock b/plugins/aves_ui/pubspec.lock index 9ec9434f5..0ae7cafba 100644 --- a/plugins/aves_ui/pubspec.lock +++ b/plugins/aves_ui/pubspec.lock @@ -50,10 +50,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" sky_engine: dependency: transitive description: flutter diff --git a/plugins/aves_utils/pubspec.lock b/plugins/aves_utils/pubspec.lock index b4361b4b6..9327463ee 100644 --- a/plugins/aves_utils/pubspec.lock +++ b/plugins/aves_utils/pubspec.lock @@ -50,10 +50,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" sky_engine: dependency: transitive description: flutter diff --git a/plugins/aves_video/pubspec.lock b/plugins/aves_video/pubspec.lock index 411ae4bb0..14eaf7ba5 100644 --- a/plugins/aves_video/pubspec.lock +++ b/plugins/aves_video/pubspec.lock @@ -72,10 +72,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" sky_engine: dependency: transitive description: flutter diff --git a/plugins/aves_video_ffmpeg/pubspec.lock b/plugins/aves_video_ffmpeg/pubspec.lock index bba8aacdd..ba3909c36 100644 --- a/plugins/aves_video_ffmpeg/pubspec.lock +++ b/plugins/aves_video_ffmpeg/pubspec.lock @@ -96,10 +96,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" plugin_platform_interface: dependency: transitive description: diff --git a/plugins/aves_video_ijk/pubspec.lock b/plugins/aves_video_ijk/pubspec.lock index 284b7f0e5..efe393df7 100644 --- a/plugins/aves_video_ijk/pubspec.lock +++ b/plugins/aves_video_ijk/pubspec.lock @@ -88,10 +88,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" sky_engine: dependency: transitive description: flutter diff --git a/plugins/aves_video_mpv/pubspec.lock b/plugins/aves_video_mpv/pubspec.lock index 83bd1b652..256be069e 100644 --- a/plugins/aves_video_mpv/pubspec.lock +++ b/plugins/aves_video_mpv/pubspec.lock @@ -212,10 +212,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" package_info_plus: dependency: transitive description: @@ -433,10 +433,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 url: "https://pub.dev" source: hosted - version: "5.5.0" + version: "5.5.1" xml: dependency: transitive description: @@ -446,5 +446,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.0 <4.0.0" flutter: ">=3.19.0" diff --git a/pubspec.lock b/pubspec.lock index 972e9a56a..974f087ef 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -177,7 +177,7 @@ packages: description: path: charts_common ref: aves - resolved-ref: "6c44dc05289c1a5dbf0b027dbba083669843072c" + resolved-ref: ba7833d74e17ff497d3f4fb48f362d2dfdf3c6e3 url: "https://github.com/deckerst/flutter_google_charts.git" source: git version: "0.12.0" @@ -186,7 +186,7 @@ packages: description: path: charts_flutter ref: aves - resolved-ref: "6c44dc05289c1a5dbf0b027dbba083669843072c" + resolved-ref: ba7833d74e17ff497d3f4fb48f362d2dfdf3c6e3 url: "https://github.com/deckerst/flutter_google_charts.git" source: git version: "0.12.0" @@ -436,18 +436,18 @@ packages: dependency: "direct main" description: name: flex_color_picker - sha256: "5c846437069fb7afdd7ade6bf37e628a71d2ab0787095ddcb1253bf9345d5f3a" + sha256: "31b27677d8d8400e4cff5edb3f189f606dd964d608779b6ae1b7ddad37ea48c6" url: "https://pub.dev" source: hosted - version: "3.4.1" + version: "3.5.0" flex_seed_scheme: dependency: transitive description: name: flex_seed_scheme - sha256: "4cee2f1d07259f77e8b36f4ec5f35499d19e74e17c7dce5b819554914082bc01" + sha256: fb66cdb8ca89084e79efcad2bc2d9deb144666875116f08cdd8d9f8238c8b3ab url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "2.0.0" floating: dependency: "direct main" description: @@ -511,7 +511,7 @@ packages: description: path: "." ref: HEAD - resolved-ref: "2956bcff219761aa90a1c95ad2d90b0050ae208f" + resolved-ref: f35b88327b98a1494426cf40ff7c30281cc7f937 url: "https://github.com/deckerst/flutter_localization_nn.git" source: git version: "0.0.1" @@ -566,10 +566,10 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" fuchsia_remote_debug_protocol: dependency: transitive description: flutter @@ -715,10 +715,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" io: dependency: transitive description: @@ -755,26 +755,26 @@ packages: dependency: "direct main" description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -915,10 +915,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mgrs_dart: dependency: transitive description: @@ -1093,10 +1093,10 @@ packages: dependency: transitive description: name: pdf_widget_wrapper - sha256: "9c3ca36e5000c9682d52bbdc486867ba7c5ee4403d1a5d6d03ed72157753377b" + sha256: c930860d987213a3d58c7ec3b7ecf8085c3897f773e8dc23da9cae60a5d6d0f5 url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" percent_indicator: dependency: "direct main" description: @@ -1531,26 +1531,26 @@ packages: dependency: "direct dev" description: name: test - sha256: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" url: "https://pub.dev" source: hosted - version: "1.24.9" + version: "1.25.2" test_api: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" test_core: dependency: transitive description: name: test_core - sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" url: "https://pub.dev" source: hosted - version: "0.5.9" + version: "0.6.0" transparent_image: dependency: "direct main" description: @@ -1675,10 +1675,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" volume_controller: dependency: "direct main" description: @@ -1747,10 +1747,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 url: "https://pub.dev" source: hosted - version: "5.5.0" + version: "5.5.1" win32_registry: dependency: transitive description: @@ -1792,5 +1792,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.19.6" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.22.0" diff --git a/pubspec.yaml b/pubspec.yaml index a7b3ac228..db718ca56 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,7 +13,7 @@ publish_to: none environment: # this project bundles Flutter SDK via `flutter_wrapper` # cf https://github.com/passsy/flutter_wrapper - flutter: 3.19.6 + flutter: 3.22.0 sdk: '>=3.3.0 <4.0.0' # use `scripts/apply_flavor_{flavor}.sh` to set the right dependencies for the flavor From ea53420c179dd161b157ff3e289f0e6704e98114 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 18 May 2024 23:59:21 +0200 Subject: [PATCH 07/34] l10n: specify plural num pattern to apply locale --- lib/l10n/app_en.arb | 80 +++++++++++++++++++++++++++++++++------------ 1 file changed, 60 insertions(+), 20 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index d803fb63e..2a48663c3 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -6,32 +6,42 @@ "itemCount": "{count, plural, =1{1 item} other{{count} items}}", "@itemCount": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "columnCount": "{count, plural, =1{1 column} other{{count} columns}}", "@columnCount": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "timeSeconds": "{seconds, plural, =1{1 second} other{{seconds} seconds}}", "@timeSeconds": { "placeholders": { - "seconds": {} + "seconds": { + "format": "decimalPattern" + } } }, "timeMinutes": "{minutes, plural, =1{1 minute} other{{minutes} minutes}}", "@timeMinutes": { "placeholders": { - "minutes": {} + "minutes": { + "format": "decimalPattern" + } } }, "timeDays": "{days, plural, =1{1 day} other{{days} days}}", "@timeDays": { "placeholders": { - "days": {} + "days": { + "format": "decimalPattern" + } } }, "focalLength": "{length} mm", @@ -376,13 +386,17 @@ "binEntriesConfirmationDialogMessage": "{count, plural, =1{Move this item to the recycle bin?} other{Move these {count} items to the recycle bin?}}", "@binEntriesConfirmationDialogMessage": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{Delete this item?} other{Delete these {count} items?}}", "@deleteEntriesConfirmationDialogMessage": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "moveUndatedConfirmationDialogMessage": "Save item dates before proceeding?", @@ -446,13 +460,17 @@ "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Delete this album and the item in it?} other{Delete this album and the {count} items in it?}}", "@deleteSingleAlbumConfirmationDialogMessage": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Delete these albums and the item in them?} other{Delete these albums and the {count} items in them?}}", "@deleteMultiAlbumConfirmationDialogMessage": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, @@ -597,61 +615,81 @@ "collectionDeleteFailureFeedback": "{count, plural, =1{Failed to delete 1 item} other{Failed to delete {count} items}}", "@collectionDeleteFailureFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionCopyFailureFeedback": "{count, plural, =1{Failed to copy 1 item} other{Failed to copy {count} items}}", "@collectionCopyFailureFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionMoveFailureFeedback": "{count, plural, =1{Failed to move 1 item} other{Failed to move {count} items}}", "@collectionMoveFailureFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionRenameFailureFeedback": "{count, plural, =1{Failed to rename 1 item} other{Failed to rename {count} items}}", "@collectionRenameFailureFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionEditFailureFeedback": "{count, plural, =1{Failed to edit 1 item} other{Failed to edit {count} items}}", "@collectionEditFailureFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionExportFailureFeedback": "{count, plural, =1{Failed to export 1 page} other{Failed to export {count} pages}}", "@collectionExportFailureFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionCopySuccessFeedback": "{count, plural, =1{Copied 1 item} other{Copied {count} items}}", "@collectionCopySuccessFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionMoveSuccessFeedback": "{count, plural, =1{Moved 1 item} other{Moved {count} items}}", "@collectionMoveSuccessFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionRenameSuccessFeedback": "{count, plural, =1{Renamed 1 item} other{Renamed {count} items}}", "@collectionRenameSuccessFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "collectionEditSuccessFeedback": "{count, plural, =1{Edited 1 item} other{Edited {count} items}}", "@collectionEditSuccessFeedback": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, @@ -949,7 +987,9 @@ "statsWithGps": "{count, plural, =1{1 item with location} other{{count} items with location}}", "@statsWithGps": { "placeholders": { - "count": {} + "count": { + "format": "decimalPattern" + } } }, "statsTopCountriesSectionTitle": "Top Countries", From dd6258d8ac59294f45456515a82390c1e8d8968b Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 19 May 2024 01:28:26 +0200 Subject: [PATCH 08/34] l10n: typography fixes for arabic/persian --- devtools_options.yaml | 3 ++ lib/model/entry/extensions/props.dart | 8 ++++-- .../settings/enums/coordinate_format.dart | 7 +++-- lib/ref/locales.dart | 10 +++++++ lib/widgets/about/app_ref.dart | 23 +++++++-------- lib/widgets/about/bug_report.dart | 5 +++- .../common/action_mixins/feedback.dart | 9 ++++-- .../common/identity/highlight_title.dart | 5 ++-- lib/widgets/common/map/geo_map.dart | 4 +++ lib/widgets/navigation/drawer/app_drawer.dart | 17 ++++++----- lib/widgets/navigation/tv_rail.dart | 12 +++++--- lib/widgets/stats/percent_text.dart | 7 +++-- lib/widgets/viewer/info/basic_section.dart | 28 ++++++++++++------- lib/widgets/viewer/info/color_section.dart | 9 ++++-- lib/widgets/viewer/overlay/details/date.dart | 2 +- plugins/aves_map/lib/src/marker/image.dart | 9 ++++-- plugins/aves_map/pubspec.lock | 2 +- plugins/aves_map/pubspec.yaml | 1 + 18 files changed, 108 insertions(+), 53 deletions(-) create mode 100644 devtools_options.yaml diff --git a/devtools_options.yaml b/devtools_options.yaml new file mode 100644 index 000000000..fa0b357c4 --- /dev/null +++ b/devtools_options.yaml @@ -0,0 +1,3 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: diff --git a/lib/model/entry/extensions/props.dart b/lib/model/entry/extensions/props.dart index 1b231ea59..b231b5616 100644 --- a/lib/model/entry/extensions/props.dart +++ b/lib/model/entry/extensions/props.dart @@ -11,6 +11,7 @@ import 'package:aves/services/common/services.dart'; import 'package:aves/theme/text.dart'; import 'package:aves/utils/android_file_utils.dart'; import 'package:aves/utils/time_utils.dart'; +import 'package:intl/intl.dart'; extension ExtraAvesEntryProps on AvesEntry { bool get isValid => !isMissingAtPath && sizeBytes != 0 && width > 0 && height > 0; @@ -51,9 +52,10 @@ extension ExtraAvesEntryProps on AvesEntry { // text - String get resolutionText { - final ws = width; - final hs = height; + String getResolutionText(String locale) { + final numberFormat = NumberFormat('0', locale); + final ws = numberFormat.format(width); + final hs = numberFormat.format(height); return isRotated ? '$hs${AText.resolutionSeparator}$ws' : '$ws${AText.resolutionSeparator}$hs'; } diff --git a/lib/model/settings/enums/coordinate_format.dart b/lib/model/settings/enums/coordinate_format.dart index ca5835744..cf90b4936 100644 --- a/lib/model/settings/enums/coordinate_format.dart +++ b/lib/model/settings/enums/coordinate_format.dart @@ -47,10 +47,11 @@ extension ExtraCoordinateFormat on CoordinateFormat { final min = minDecimal.toInt(); final sec = (minDecimal - min) * 60; - var minText = NumberFormat('0' * (minuteSecondPadding ? 2 : 1), locale).format(min); - var secText = NumberFormat('${'0' * (minuteSecondPadding ? 2 : 1)}${secondDecimals > 0 ? '.${'0' * secondDecimals}' : ''}', locale).format(sec); + final degText = NumberFormat('0', locale).format(deg); + final minText = NumberFormat('0' * (minuteSecondPadding ? 2 : 1), locale).format(min); + final secText = NumberFormat('${'0' * (minuteSecondPadding ? 2 : 1)}${secondDecimals > 0 ? '.${'0' * secondDecimals}' : ''}', locale).format(sec); - return '$deg° $minText′ $secText″'; + return '$degText° $minText′ $secText″'; } static List _toDecimal(AppLocalizations l10n, LatLng latLng) { diff --git a/lib/ref/locales.dart b/lib/ref/locales.dart index 1ce72cdd1..fc58e5c11 100644 --- a/lib/ref/locales.dart +++ b/lib/ref/locales.dart @@ -45,3 +45,13 @@ bool shouldUseNativeDigits(Locale? countrifiedLocale) { return true; } } + +bool canHaveLetterSpacing(String locale) { + switch (locale) { + case 'ar': + case 'fa': + return false; + default: + return true; + } +} diff --git a/lib/widgets/about/app_ref.dart b/lib/widgets/about/app_ref.dart index 6a425e67c..8e7c2fb1c 100644 --- a/lib/widgets/about/app_ref.dart +++ b/lib/widgets/about/app_ref.dart @@ -1,5 +1,5 @@ - import 'package:aves/model/device.dart'; +import 'package:aves/ref/locales.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/about/policy_page.dart'; import 'package:aves/widgets/common/basic/link_chip.dart'; @@ -10,13 +10,6 @@ import 'package:flutter/material.dart'; class AppReference extends StatelessWidget { static const avesGithub = 'https://github.com/deckerst/aves'; - static const _appTitleStyle = TextStyle( - fontSize: 20, - fontWeight: FontWeight.normal, - letterSpacing: 1.0, - fontFeatures: [FontFeature.enable('smcp')], - ); - const AppReference({super.key}); @override @@ -38,27 +31,35 @@ class AppReference extends StatelessWidget { } Widget _buildAvesLine(BuildContext context) { + final locale = context.l10n.localeName; final textScaler = MediaQuery.textScalerOf(context); return Row( mainAxisSize: MainAxisSize.min, children: [ AvesLogo( - size: textScaler.scale(_appTitleStyle.fontSize!) * 1.3, + size: textScaler.scale(_getAppTitleStyle(locale).fontSize!) * 1.3, ), const SizedBox(width: 8), Text( context.l10n.appName, - style: _appTitleStyle, + style: _getAppTitleStyle(locale), ), const SizedBox(width: 8), Text( device.packageVersion, - style: _appTitleStyle, + style: _getAppTitleStyle(locale), ), ], ); } + TextStyle _getAppTitleStyle(String locale) => TextStyle( + fontSize: 20, + fontWeight: FontWeight.normal, + letterSpacing: canHaveLetterSpacing(locale) ? 1 : 0, + fontFeatures: const [FontFeature.enable('smcp')], + ); + static List buildLinks(BuildContext context) { final l10n = context.l10n; return [ diff --git a/lib/widgets/about/bug_report.dart b/lib/widgets/about/bug_report.dart index 68802ae8d..bda875f29 100644 --- a/lib/widgets/about/bug_report.dart +++ b/lib/widgets/about/bug_report.dart @@ -122,6 +122,9 @@ class _BugReportState extends State with FeedbackMixin { } Widget _buildStep(int step, String text, String buttonText, VoidCallback onPressed) { + final locale = context.l10n.localeName; + final numberFormat = NumberFormat.decimalPattern(locale); + final isMonochrome = settings.themeColorMode == AvesThemeColorMode.monochrome; return Padding( padding: const EdgeInsets.symmetric(vertical: 4), @@ -136,7 +139,7 @@ class _BugReportState extends State with FeedbackMixin { )), shape: BoxShape.circle, ), - child: Text('$step'), + child: Text(numberFormat.format(step)), ), const SizedBox(width: 8), Expanded(child: Text(text)), diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index 90495cb1f..a478780b9 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -218,6 +218,9 @@ class _ReportOverlayState extends State> with SingleTickerPr @override Widget build(BuildContext context) { + final locale = context.l10n.localeName; + final percentFormat = NumberFormat.percentPattern(locale); + final theme = Theme.of(context); final colorScheme = theme.colorScheme; final progressColor = colorScheme.primary; @@ -230,7 +233,6 @@ class _ReportOverlayState extends State> with SingleTickerPr final processedCount = processed.length.toDouble(); final total = widget.itemCount; final percent = total == null || total == 0 ? 0.0 : min(1.0, processedCount / total); - final percentFormat = NumberFormat.percentPattern(); return FadeTransition( opacity: _animation, child: Stack( @@ -351,6 +353,9 @@ class _FeedbackMessageState extends State<_FeedbackMessage> with SingleTickerPro @override Widget build(BuildContext context) { + final locale = context.l10n.localeName; + final numberFormat = NumberFormat('0', locale); + final textScaler = MediaQuery.textScalerOf(context); final theme = Theme.of(context); final colorScheme = theme.colorScheme; @@ -388,7 +393,7 @@ class _FeedbackMessageState extends State<_FeedbackMessage> with SingleTickerPro // because we cannot use the app context theme here foreground: widget.progressColor, center: ChangeHighlightText( - '${(remainingDurationMillis / 1000).ceil()}', + numberFormat.format((remainingDurationMillis / 1000).ceil()), style: contentTextStyle.copyWith( shadows: [ Shadow( diff --git a/lib/widgets/common/identity/highlight_title.dart b/lib/widgets/common/identity/highlight_title.dart index 76c1fa4c9..53ad36e0a 100644 --- a/lib/widgets/common/identity/highlight_title.dart +++ b/lib/widgets/common/identity/highlight_title.dart @@ -1,8 +1,9 @@ - import 'package:aves/model/settings/settings.dart'; +import 'package:aves/ref/locales.dart'; import 'package:aves/theme/colors.dart'; import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/common/basic/text/outlined.dart'; +import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/extensions/theme.dart'; import 'package:aves/widgets/common/fx/highlight_decoration.dart'; import 'package:aves_model/aves_model.dart'; @@ -40,7 +41,7 @@ class HighlightTitle extends StatelessWidget { final style = TextStyle( shadows: shadows(context), fontSize: fontSize, - letterSpacing: 1.0, + letterSpacing: canHaveLetterSpacing(context.l10n.localeName) ? 1 : 0, fontFeatures: const [FontFeature.enable('smcp')], ); diff --git a/lib/widgets/common/map/geo_map.dart b/lib/widgets/common/map/geo_map.dart index d59476297..ee9bec0aa 100644 --- a/lib/widgets/common/map/geo_map.dart +++ b/lib/widgets/common/map/geo_map.dart @@ -146,9 +146,11 @@ class _GeoMapState extends State { selector: (context, s) => s.mapStyle, builder: (context, mapStyle, child) { final isHeavy = ExtraEntryMapStyle.isHeavy(mapStyle); + final locale = context.l10n.localeName; Widget _buildMarkerWidget(MarkerKey key) => ImageMarker( key: key, count: key.count, + locale: locale, buildThumbnailImage: (extent) => ThumbnailImage( entry: key.entry, extent: extent, @@ -482,9 +484,11 @@ class _GeoMapState extends State { } else { markerEntry = geoEntry.entry!; } + final locale = context.l10n.localeName; final markerLocation = LatLng(geoEntry.latitude!, geoEntry.longitude!); Widget markerBuilder(BuildContext context) => ImageMarker( count: geoEntry.pointsSize, + locale: locale, drawArrow: false, buildThumbnailImage: (extent) => ThumbnailImage( entry: markerEntry, diff --git a/lib/widgets/navigation/drawer/app_drawer.dart b/lib/widgets/navigation/drawer/app_drawer.dart index 7a0978786..c04705690 100644 --- a/lib/widgets/navigation/drawer/app_drawer.dart +++ b/lib/widgets/navigation/drawer/app_drawer.dart @@ -1,4 +1,3 @@ - import 'package:aves/model/filters/album.dart'; import 'package:aves/model/filters/trash.dart'; import 'package:aves/model/settings/settings.dart'; @@ -8,6 +7,7 @@ import 'package:aves/model/source/collection_source.dart'; import 'package:aves/model/source/location/country.dart'; import 'package:aves/model/source/location/place.dart'; import 'package:aves/model/source/tag.dart'; +import 'package:aves/ref/locales.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/utils/android_file_utils.dart'; @@ -111,6 +111,9 @@ class _AppDrawerState extends State { } Widget _buildHeader(BuildContext context) { + final l10n = context.l10n; + final locale = l10n.localeName; + Future goTo(String routeName, WidgetBuilder pageBuilder) async { Navigator.maybeOf(context)?.pop(); await Future.delayed(ADurations.drawerTransitionAnimation); @@ -145,13 +148,13 @@ class _AppDrawerState extends State { OutlinedText( textSpans: [ TextSpan( - text: context.l10n.appName, - style: const TextStyle( + text: l10n.appName, + style: TextStyle( color: Colors.white, fontSize: 38, fontWeight: FontWeight.w300, - letterSpacing: 1.0, - fontFeatures: [FontFeature.enable('smcp')], + letterSpacing: canHaveLetterSpacing(locale) ? 1 : 0, + fontFeatures: const [FontFeature.enable('smcp')], ), ), ], @@ -177,7 +180,7 @@ class _AppDrawerState extends State { onPressed: () => goTo(AboutPage.routeName, (_) => const AboutPage()), style: drawerButtonStyle, icon: const Icon(AIcons.info), - label: Text(context.l10n.drawerAboutButton), + label: Text(l10n.drawerAboutButton), ), OutlinedButton.icon( // key is expected by test driver @@ -185,7 +188,7 @@ class _AppDrawerState extends State { onPressed: () => goTo(SettingsPage.routeName, (_) => const SettingsPage()), style: drawerButtonStyle, icon: const Icon(AIcons.settings), - label: Text(context.l10n.drawerSettingsButton), + label: Text(l10n.drawerSettingsButton), ), ], ), diff --git a/lib/widgets/navigation/tv_rail.dart b/lib/widgets/navigation/tv_rail.dart index ff4c458f9..ee75292a1 100644 --- a/lib/widgets/navigation/tv_rail.dart +++ b/lib/widgets/navigation/tv_rail.dart @@ -6,6 +6,7 @@ import 'package:aves/model/settings/enums/home_page.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/model/source/collection_source.dart'; +import 'package:aves/ref/locales.dart'; import 'package:aves/widgets/about/about_page.dart'; import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/basic/insets.dart'; @@ -90,6 +91,9 @@ class _TvRailState extends State { @override Widget build(BuildContext context) { + final l10n = context.l10n; + final locale = l10n.localeName; + final navEntries = _getNavEntries(context); return DirectionalSafeArea( end: false, @@ -103,13 +107,13 @@ class _TvRailState extends State { logo, const SizedBox(width: 16), Text( - context.l10n.appName, - style: const TextStyle( + l10n.appName, + style: TextStyle( color: Colors.white, fontSize: 32, fontWeight: FontWeight.w300, - letterSpacing: 1.0, - fontFeatures: [FontFeature.enable('smcp')], + letterSpacing: canHaveLetterSpacing(locale) ? 1 : 0, + fontFeatures: const [FontFeature.enable('smcp')], ), ), ], diff --git a/lib/widgets/stats/percent_text.dart b/lib/widgets/stats/percent_text.dart index 362194d12..7bc62038c 100644 --- a/lib/widgets/stats/percent_text.dart +++ b/lib/widgets/stats/percent_text.dart @@ -1,21 +1,24 @@ import 'package:aves/theme/styles.dart'; import 'package:aves/theme/themes.dart'; import 'package:aves/widgets/common/basic/text/outlined.dart'; +import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/extensions/theme.dart'; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; class LinearPercentIndicatorText extends StatelessWidget { final double percent; - final percentFormat = NumberFormat.percentPattern(); - LinearPercentIndicatorText({ + const LinearPercentIndicatorText({ super.key, required this.percent, }); @override Widget build(BuildContext context) { + final locale = context.l10n.localeName; + final percentFormat = NumberFormat.percentPattern(locale); + return OutlinedText( textSpans: [ TextSpan( diff --git a/lib/widgets/viewer/info/basic_section.dart b/lib/widgets/viewer/info/basic_section.dart index 89b085091..123891051 100644 --- a/lib/widgets/viewer/info/basic_section.dart +++ b/lib/widgets/viewer/info/basic_section.dart @@ -32,6 +32,7 @@ import 'package:aves_model/aves_model.dart'; import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; class BasicSection extends StatefulWidget { @@ -277,15 +278,6 @@ class _BasicInfoState extends State<_BasicInfo> { AvesEntry get entry => widget.entry; - int get megaPixels => (entry.width * entry.height / 1000000).round(); - - // guess whether this is a photo, according to file type - bool get isPhoto => [MimeTypes.heic, MimeTypes.heif, MimeTypes.jpeg, MimeTypes.tiff].contains(entry.mimeType) || entry.isRaw; - - bool get showMegaPixels => isPhoto && megaPixels > 0; - - String get rasterResolutionText => '${entry.resolutionText}${showMegaPixels ? ' • $megaPixels MP' : ''}'; - static const ownerPackageNamePropKey = 'owner_package_name'; static const iconSize = 20.0; @@ -331,7 +323,7 @@ class _BasicInfoState extends State<_BasicInfo> { l10n.viewerInfoLabelTitle: title, l10n.viewerInfoLabelDate: dateText, if (entry.isVideo) ..._buildVideoRows(context), - if (showResolution) l10n.viewerInfoLabelResolution: context.applyDirectionality(rasterResolutionText), + if (showResolution) l10n.viewerInfoLabelResolution: context.applyDirectionality(getRasterResolutionText(locale)), l10n.viewerInfoLabelSize: context.applyDirectionality(sizeText), if (!entry.trashed) l10n.viewerInfoLabelUri: entry.uri, if (path != null) l10n.viewerInfoLabelPath: path, @@ -384,4 +376,20 @@ class _BasicInfoState extends State<_BasicInfo> { ), ]; } + + String getRasterResolutionText(String locale) { + var s = entry.getResolutionText(locale); + + // guess whether this is a photo, according to file type + final isPhoto = [MimeTypes.heic, MimeTypes.heif, MimeTypes.jpeg, MimeTypes.tiff].contains(entry.mimeType) || entry.isRaw; + if (isPhoto) { + final numberFormat = NumberFormat('0', locale); + final megaPixels = (entry.width * entry.height / 1000000).round(); + if (megaPixels > 0) { + s += ' • ${numberFormat.format(megaPixels)} MP'; + } + } + + return s; + } } diff --git a/lib/widgets/viewer/info/color_section.dart b/lib/widgets/viewer/info/color_section.dart index ca8d669e2..087e15f3e 100644 --- a/lib/widgets/viewer/info/color_section.dart +++ b/lib/widgets/viewer/info/color_section.dart @@ -69,9 +69,12 @@ class _ColorSectionSliverState extends State { children: [ ColorIndicator(value: v.color), const SizedBox(width: 8), - SelectableText( - '#${v.color.hex}', - style: const TextStyle(fontFamily: 'monospace'), + Directionality( + textDirection: TextDirection.ltr, + child: SelectableText( + '#${v.color.hex}', + style: const TextStyle(fontFamily: 'monospace'), + ), ), ], ), diff --git a/lib/widgets/viewer/overlay/details/date.dart b/lib/widgets/viewer/overlay/details/date.dart index 480ce4c2e..af2425fc5 100644 --- a/lib/widgets/viewer/overlay/details/date.dart +++ b/lib/widgets/viewer/overlay/details/date.dart @@ -29,7 +29,7 @@ class OverlayDateRow extends StatelessWidget { final resolutionText = entry.isSvg ? entry.aspectRatioText : entry.isSized - ? entry.resolutionText + ? entry.getResolutionText(locale) : ''; return Row( diff --git a/plugins/aves_map/lib/src/marker/image.dart b/plugins/aves_map/lib/src/marker/image.dart index 7b7e0fe9c..8ead5d7a2 100644 --- a/plugins/aves_map/lib/src/marker/image.dart +++ b/plugins/aves_map/lib/src/marker/image.dart @@ -4,10 +4,12 @@ import 'package:collection/collection.dart'; import 'package:custom_rounded_rectangle_border/custom_rounded_rectangle_border.dart'; import 'package:flutter/material.dart'; import 'package:flutter_map/flutter_map.dart'; +import 'package:intl/intl.dart' as intl; import 'package:latlong2/latlong.dart'; class ImageMarker extends StatelessWidget { final int? count; + final intl.NumberFormat numberFormat; final bool drawArrow; final Widget Function(double extent) buildThumbnailImage; @@ -20,12 +22,13 @@ class ImageMarker extends StatelessWidget { static const innerRadius = Radius.circular(outerBorderRadiusDim - outerBorderWidth); static const innerBorderRadius = BorderRadius.all(innerRadius); - const ImageMarker({ + ImageMarker({ super.key, required this.count, + required String locale, this.drawArrow = true, required this.buildThumbnailImage, - }); + }) : numberFormat = intl.NumberFormat.decimalPattern(locale); @override Widget build(BuildContext context) { @@ -107,7 +110,7 @@ class ImageMarker extends StatelessWidget { ), ), child: Text( - '$count', + numberFormat.format(count), style: TextStyle( fontSize: 12, color: theme.colorScheme.onPrimary, diff --git a/plugins/aves_map/pubspec.lock b/plugins/aves_map/pubspec.lock index 1ebdf7fbc..798d09d32 100644 --- a/plugins/aves_map/pubspec.lock +++ b/plugins/aves_map/pubspec.lock @@ -102,7 +102,7 @@ packages: source: hosted version: "4.0.2" intl: - dependency: transitive + dependency: "direct main" description: name: intl sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf diff --git a/plugins/aves_map/pubspec.yaml b/plugins/aves_map/pubspec.yaml index e817211e7..906ea0919 100644 --- a/plugins/aves_map/pubspec.yaml +++ b/plugins/aves_map/pubspec.yaml @@ -15,6 +15,7 @@ dependencies: equatable: fluster: flutter_map: + intl: latlong2: provider: From ff16651ce188f693c8f6547d6bbe2397dd9e0033 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 20 May 2024 01:41:00 +0200 Subject: [PATCH 09/34] l10n: fixes for RTL --- lib/ref/locales.dart | 6 + lib/widgets/dialogs/duration_dialog.dart | 4 +- .../entry_editors/edit_date_dialog.dart | 4 +- .../common/quick_actions/editor_page.dart | 128 ++++++++++-------- .../viewer/viewer_actions_editor.dart | 2 + lib/widgets/viewer/overlay/bottom.dart | 76 +++++------ lib/widgets/viewer/overlay/locked.dart | 2 +- lib/widgets/viewer/overlay/panorama.dart | 2 + .../viewer/overlay/selection_button.dart | 3 + .../viewer/overlay/video/ab_repeat.dart | 2 + .../viewer/overlay/video/controls.dart | 6 +- .../viewer/overlay/video/progress_bar.dart | 4 +- lib/widgets/viewer/overlay/video/video.dart | 88 ++++++------ .../viewer/overlay/viewer_buttons.dart | 3 + .../viewer/overlay/wallpaper_buttons.dart | 2 + 15 files changed, 181 insertions(+), 151 deletions(-) diff --git a/lib/ref/locales.dart b/lib/ref/locales.dart index fc58e5c11..8ceb04a2e 100644 --- a/lib/ref/locales.dart +++ b/lib/ref/locales.dart @@ -2,6 +2,12 @@ import 'dart:ui'; const String asciiLocale = 'en_US'; +// time components hours/minutes/seconds are always displayed in that order +const TextDirection timeComponentsDirection = TextDirection.ltr; + +// represents direction of tape being played, not direction of time +const TextDirection videoPlaybackDirection = TextDirection.ltr; + // cf https://en.wikipedia.org/wiki/Eastern_Arabic_numerals bool shouldUseNativeDigits(Locale? countrifiedLocale) { switch (countrifiedLocale?.toString()) { diff --git a/lib/widgets/dialogs/duration_dialog.dart b/lib/widgets/dialogs/duration_dialog.dart index 22190f831..bd547686f 100644 --- a/lib/widgets/dialogs/duration_dialog.dart +++ b/lib/widgets/dialogs/duration_dialog.dart @@ -1,3 +1,4 @@ +import 'package:aves/ref/locales.dart'; import 'package:aves/utils/time_utils.dart'; import 'package:aves/widgets/common/basic/wheel.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; @@ -48,8 +49,7 @@ class _DurationDialogState extends State { padding: const EdgeInsets.only(top: 16), child: Center( child: Table( - // even when ambient direction is RTL, time is displayed in LTR - textDirection: TextDirection.ltr, + textDirection: timeComponentsDirection, children: [ TableRow( children: [ diff --git a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart index 8a0bb0384..28cd80e5c 100644 --- a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart @@ -1,6 +1,7 @@ import 'package:aves/model/entry/entry.dart'; import 'package:aves/model/metadata/date_modifier.dart'; import 'package:aves/model/source/collection_lens.dart'; +import 'package:aves/ref/locales.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/theme/format.dart'; import 'package:aves/theme/icons.dart'; @@ -204,8 +205,7 @@ class _EditEntryDateDialogState extends State { const textStyle = TextStyle(fontSize: 34); return Center( child: Table( - // even when ambient direction is RTL, time is displayed in LTR - textDirection: TextDirection.ltr, + textDirection: timeComponentsDirection, children: [ TableRow( children: [ diff --git a/lib/widgets/settings/common/quick_actions/editor_page.dart b/lib/widgets/settings/common/quick_actions/editor_page.dart index 1b13567f6..e31b2d7e1 100644 --- a/lib/widgets/settings/common/quick_actions/editor_page.dart +++ b/lib/widgets/settings/common/quick_actions/editor_page.dart @@ -19,6 +19,7 @@ import 'package:smooth_page_indicator/smooth_page_indicator.dart'; class QuickActionEditorPage extends StatelessWidget { final String title, bannerText; + final TextDirection? displayedButtonsDirection; final List> allAvailableActions; final Widget Function(T action) actionIcon; final String Function(BuildContext context, T action) actionText; @@ -29,6 +30,7 @@ class QuickActionEditorPage extends StatelessWidget { super.key, required this.title, required this.bannerText, + this.displayedButtonsDirection, required this.allAvailableActions, required this.actionIcon, required this.actionText, @@ -45,6 +47,7 @@ class QuickActionEditorPage extends StatelessWidget { body: SafeArea( child: QuickActionEditorBody( bannerText: bannerText, + displayedButtonsDirection: displayedButtonsDirection, allAvailableActions: allAvailableActions, actionIcon: actionIcon, actionText: actionText, @@ -58,6 +61,7 @@ class QuickActionEditorPage extends StatelessWidget { class QuickActionEditorBody extends StatefulWidget { final String bannerText; + final TextDirection? displayedButtonsDirection; final List> allAvailableActions; final Widget Function(T action) actionIcon; final String Function(BuildContext context, T action) actionText; @@ -67,6 +71,7 @@ class QuickActionEditorBody extends StatefulWidget { const QuickActionEditorBody({ super.key, required this.bannerText, + this.displayedButtonsDirection, required this.allAvailableActions, required this.actionIcon, required this.actionText, @@ -147,6 +152,7 @@ class _QuickActionEditorBodyState extends State widget.save(_quickActions), @@ -176,67 +182,73 @@ class _QuickActionEditorBodyState extends State= _quickActions.length) return const SizedBox(); - final action = _quickActions[index]; - return QuickActionButton( - placement: QuickActionPlacement.action, - action: action, - panelHighlight: _quickActionHighlight, - draggedQuickAction: _draggedQuickAction, - draggedAvailableAction: _draggedAvailableAction, - insertAction: _insertQuickAction, - removeAction: _removeQuickAction, - onTargetLeave: _onQuickActionTargetLeave, - draggableFeedbackBuilder: (action) => CaptionedButton( - icon: widget.actionIcon(action), - caption: widget.actionText(context, action), - showCaption: false, - onPressed: () {}, - ), - child: _buildQuickActionButton(action, animation), - ); - }, - ), - ), - AnimatedBuilder( - animation: _quickActionsChangeNotifier, - builder: (context, child) => _quickActions.isEmpty - ? Center( - child: Text( - context.l10n.settingsViewerQuickActionEmpty, - style: theme.textTheme.bodySmall, + Container( + alignment: Alignment.center, + child: AnimatedList( + key: _animatedListKey, + initialItemCount: _quickActions.length, + scrollDirection: Axis.horizontal, + shrinkWrap: true, + padding: EdgeInsets.zero, + itemBuilder: (context, index, animation) { + if (index >= _quickActions.length) return const SizedBox(); + final action = _quickActions[index]; + return Directionality( + textDirection: originalDirection, + child: QuickActionButton( + placement: QuickActionPlacement.action, + action: action, + panelHighlight: _quickActionHighlight, + draggedQuickAction: _draggedQuickAction, + draggedAvailableAction: _draggedAvailableAction, + insertAction: _insertQuickAction, + removeAction: _removeQuickAction, + onTargetLeave: _onQuickActionTargetLeave, + draggableFeedbackBuilder: (action) => CaptionedButton( + icon: widget.actionIcon(action), + caption: widget.actionText(context, action), + showCaption: false, + onPressed: () {}, + ), + child: _buildQuickActionButton(action, animation), ), - ) - : const SizedBox(), - ), - ], + ); + }, + ), + ), + AnimatedBuilder( + animation: _quickActionsChangeNotifier, + builder: (context, child) => _quickActions.isEmpty + ? Center( + child: Text( + context.l10n.settingsViewerQuickActionEmpty, + style: theme.textTheme.bodySmall, + ), + ) + : const SizedBox(), + ), + ], + ), ), ), ), diff --git a/lib/widgets/settings/viewer/viewer_actions_editor.dart b/lib/widgets/settings/viewer/viewer_actions_editor.dart index ccbd6fdd6..c3d89e294 100644 --- a/lib/widgets/settings/viewer/viewer_actions_editor.dart +++ b/lib/widgets/settings/viewer/viewer_actions_editor.dart @@ -2,6 +2,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/view/view.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/settings/common/quick_actions/editor_page.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:aves_model/aves_model.dart'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; @@ -40,6 +41,7 @@ class ViewerActionEditorPage extends StatelessWidget { return QuickActionEditorPage( title: context.l10n.settingsViewerQuickActionEditorPageTitle, bannerText: context.l10n.settingsViewerQuickActionEditorBanner, + displayedButtonsDirection: ViewerBottomOverlay.actionsDirection, allAvailableActions: allAvailableActions, actionIcon: (action) => action.getIcon(), actionText: (context, action) => action.getText(context), diff --git a/lib/widgets/viewer/overlay/bottom.dart b/lib/widgets/viewer/overlay/bottom.dart index e75f84c8b..728c530d5 100644 --- a/lib/widgets/viewer/overlay/bottom.dart +++ b/lib/widgets/viewer/overlay/bottom.dart @@ -30,6 +30,9 @@ class ViewerBottomOverlay extends StatefulWidget { final EdgeInsets? viewInsets, viewPadding; final MultiPageController? multiPageController; + // always keep action buttons in the lower right corner, even with RTL locales + static const actionsDirection = TextDirection.ltr; + const ViewerBottomOverlay({ super.key, required this.entries, @@ -185,45 +188,41 @@ class _BottomOverlayContentState extends State<_BottomOverlayContent> { builder: (context, child) { final viewInsetsPadding = (widget.viewInsets ?? EdgeInsets.zero) + (widget.viewPadding ?? EdgeInsets.zero); final selection = context.read?>(); - final viewerButtonRow = Directionality( - // always keep action buttons in the lower right corner, even with RTL locales - textDirection: TextDirection.ltr, - child: (selection?.isSelecting ?? false) - ? SelectionButton( - mainEntry: mainEntry, - scale: _buttonScale, - ) - : FocusableActionDetector( - focusNode: _buttonRowFocusScopeNode, - shortcuts: settings.useTvLayout - ? const { - SingleActivator(LogicalKeyboardKey.arrowUp): TvShowLessInfoIntent(), - } - : null, - actions: { - TvShowLessInfoIntent: CallbackAction(onInvoke: (intent) => TvShowLessInfoNotification().dispatch(context)), - }, - child: SafeArea( - top: false, - bottom: false, - minimum: EdgeInsets.only( - left: viewInsetsPadding.left, - right: viewInsetsPadding.right, - ), - child: isWallpaperMode - ? WallpaperButtons( - entry: pageEntry, - scale: _buttonScale, - ) - : ViewerButtons( - mainEntry: mainEntry, - pageEntry: pageEntry, - collection: widget.collection, - scale: _buttonScale, - ), + final viewerButtonRow = (selection?.isSelecting ?? false) + ? SelectionButton( + mainEntry: mainEntry, + scale: _buttonScale, + ) + : FocusableActionDetector( + focusNode: _buttonRowFocusScopeNode, + shortcuts: settings.useTvLayout + ? const { + SingleActivator(LogicalKeyboardKey.arrowUp): TvShowLessInfoIntent(), + } + : null, + actions: { + TvShowLessInfoIntent: CallbackAction(onInvoke: (intent) => TvShowLessInfoNotification().dispatch(context)), + }, + child: SafeArea( + top: false, + bottom: false, + minimum: EdgeInsets.only( + left: viewInsetsPadding.left, + right: viewInsetsPadding.right, ), + child: isWallpaperMode + ? WallpaperButtons( + entry: pageEntry, + scale: _buttonScale, + ) + : ViewerButtons( + mainEntry: mainEntry, + pageEntry: pageEntry, + collection: widget.collection, + scale: _buttonScale, + ), ), - ); + ); final showMultiPageOverlay = mainEntry.isMultiPage && multiPageController != null; final collapsedPageScroller = mainEntry.isMotionPhoto; @@ -250,8 +249,7 @@ class _BottomOverlayContentState extends State<_BottomOverlayContent> { (showMultiPageOverlay && collapsedPageScroller) ? Row( crossAxisAlignment: CrossAxisAlignment.center, - // always keep action buttons in the lower right corner, even with RTL locales - textDirection: TextDirection.ltr, + textDirection: ViewerBottomOverlay.actionsDirection, children: [ SafeArea( top: false, diff --git a/lib/widgets/viewer/overlay/locked.dart b/lib/widgets/viewer/overlay/locked.dart index 57ec2484e..7c730708a 100644 --- a/lib/widgets/viewer/overlay/locked.dart +++ b/lib/widgets/viewer/overlay/locked.dart @@ -65,7 +65,7 @@ class _ViewerLockedOverlayState extends State { builder: (context, mqPaddingBottom, child) { final viewInsetsPadding = (widget.viewInsets ?? EdgeInsets.zero) + (widget.viewPadding ?? EdgeInsets.zero); return Container( - alignment: AlignmentDirectional.bottomEnd, + alignment: Alignment.bottomRight, padding: EdgeInsets.only(bottom: mqPaddingBottom) + const EdgeInsets.all(ViewerButtonRowContent.padding), child: SafeArea( top: false, diff --git a/lib/widgets/viewer/overlay/panorama.dart b/lib/widgets/viewer/overlay/panorama.dart index 2f58aae82..383091717 100644 --- a/lib/widgets/viewer/overlay/panorama.dart +++ b/lib/widgets/viewer/overlay/panorama.dart @@ -4,6 +4,7 @@ import 'package:aves/model/entry/entry.dart'; import 'package:aves/services/common/services.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:aves/widgets/viewer/panorama_page.dart'; import 'package:flutter/material.dart'; @@ -20,6 +21,7 @@ class PanoramaOverlay extends StatelessWidget { @override Widget build(BuildContext context) { return Row( + textDirection: ViewerBottomOverlay.actionsDirection, children: [ const Spacer(), ScalingOverlayTextButton( diff --git a/lib/widgets/viewer/overlay/selection_button.dart b/lib/widgets/viewer/overlay/selection_button.dart index 643e3da42..9549dbf82 100644 --- a/lib/widgets/viewer/overlay/selection_button.dart +++ b/lib/widgets/viewer/overlay/selection_button.dart @@ -6,6 +6,7 @@ import 'package:aves/theme/text.dart'; import 'package:aves/widgets/common/basic/text/animated_diff.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -33,6 +34,7 @@ class SelectionButton extends StatelessWidget { padding: const EdgeInsets.only(left: padding, right: padding, bottom: padding), child: Row( mainAxisSize: MainAxisSize.min, + textDirection: ViewerBottomOverlay.actionsDirection, children: [ const Spacer(), ScalingOverlayTextButton( @@ -43,6 +45,7 @@ class SelectionButton extends StatelessWidget { builder: (context, count, child) { return Row( mainAxisSize: MainAxisSize.min, + textDirection: ViewerBottomOverlay.actionsDirection, children: [ AnimatedDiffText( count == 0 ? l10n.collectionSelectPageTitle : l10n.itemCount(count), diff --git a/lib/widgets/viewer/overlay/video/ab_repeat.dart b/lib/widgets/viewer/overlay/video/ab_repeat.dart index c86707161..4aaf184d4 100644 --- a/lib/widgets/viewer/overlay/video/ab_repeat.dart +++ b/lib/widgets/viewer/overlay/video/ab_repeat.dart @@ -1,6 +1,7 @@ import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:aves_video/aves_video.dart'; import 'package:flutter/material.dart'; @@ -55,6 +56,7 @@ class _VideoABRepeatOverlayState extends State { ); } return Row( + textDirection: ViewerBottomOverlay.actionsDirection, children: [ const Spacer(), OverlayButton( diff --git a/lib/widgets/viewer/overlay/video/controls.dart b/lib/widgets/viewer/overlay/video/controls.dart index e3f41e9ce..3921ff045 100644 --- a/lib/widgets/viewer/overlay/video/controls.dart +++ b/lib/widgets/viewer/overlay/video/controls.dart @@ -3,6 +3,7 @@ import 'package:aves/model/settings/settings.dart'; import 'package:aves/view/view.dart'; import 'package:aves/widgets/common/action_controls/togglers/play.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:aves_model/aves_model.dart'; import 'package:aves_video/aves_video.dart'; import 'package:flutter/material.dart'; @@ -33,7 +34,7 @@ class VideoControlRow extends StatelessWidget { switch (videoControls) { case VideoControls.play: return Padding( - padding: const EdgeInsetsDirectional.only(start: padding), + padding: const EdgeInsets.only(left: padding), child: _buildOverlayButton( child: PlayToggler( controller: controller, @@ -44,6 +45,7 @@ class VideoControlRow extends StatelessWidget { case VideoControls.playSeek: return Row( mainAxisSize: MainAxisSize.min, + textDirection: ViewerBottomOverlay.actionsDirection, children: [ const SizedBox(width: padding), _buildIconButton( @@ -67,7 +69,7 @@ class VideoControlRow extends StatelessWidget { ); case VideoControls.playOutside: return Padding( - padding: const EdgeInsetsDirectional.only(start: padding), + padding: const EdgeInsets.only(left: padding), child: _buildIconButton(context, EntryAction.openVideo, enabled: !entry.trashed), ); case VideoControls.none: diff --git a/lib/widgets/viewer/overlay/video/progress_bar.dart b/lib/widgets/viewer/overlay/video/progress_bar.dart index 71d593a92..0a9144c9c 100644 --- a/lib/widgets/viewer/overlay/video/progress_bar.dart +++ b/lib/widgets/viewer/overlay/video/progress_bar.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:aves/model/settings/settings.dart'; +import 'package:aves/ref/locales.dart'; import 'package:aves/theme/format.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/theme/styles.dart'; @@ -122,8 +123,7 @@ class _VideoProgressBarState extends State { ClipRRect( borderRadius: const BorderRadius.all(Radius.circular(4)), child: Directionality( - // force directionality for `LinearProgressIndicator` - textDirection: TextDirection.ltr, + textDirection: videoPlaybackDirection, child: StreamBuilder( stream: positionStream, builder: (context, snapshot) { diff --git a/lib/widgets/viewer/overlay/video/video.dart b/lib/widgets/viewer/overlay/video/video.dart index 7abcff3e2..2d9b97d6b 100644 --- a/lib/widgets/viewer/overlay/video/video.dart +++ b/lib/widgets/viewer/overlay/video/video.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:aves/model/entry/entry.dart'; import 'package:aves/view/view.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:aves/widgets/viewer/overlay/video/ab_repeat.dart'; import 'package:aves/widgets/viewer/overlay/video/controls.dart'; import 'package:aves/widgets/viewer/overlay/video/progress_bar.dart'; @@ -41,57 +42,54 @@ class _VideoControlOverlayState extends State with SingleTi @override Widget build(BuildContext context) { - return Directionality( - // always keep action buttons in the lower right corner, even with RTL locales - textDirection: TextDirection.ltr, - child: StreamBuilder( - stream: statusStream, - builder: (context, snapshot) { - // do not use stream snapshot because it is obsolete when switching between videos - final status = controller?.status ?? VideoStatus.idle; + return StreamBuilder( + stream: statusStream, + builder: (context, snapshot) { + // do not use stream snapshot because it is obsolete when switching between videos + final status = controller?.status ?? VideoStatus.idle; - if (status == VideoStatus.error) { - const action = EntryAction.openVideo; - return Align( - alignment: AlignmentDirectional.centerEnd, - child: OverlayButton( - scale: scale, - child: IconButton( - icon: action.getIcon(), - onPressed: entry.trashed ? null : () => widget.onActionSelected(action), - tooltip: action.getText(context), - ), + if (status == VideoStatus.error) { + const action = EntryAction.openVideo; + return Align( + alignment: Alignment.centerRight, + child: OverlayButton( + scale: scale, + child: IconButton( + icon: action.getIcon(), + onPressed: entry.trashed ? null : () => widget.onActionSelected(action), + tooltip: action.getText(context), ), - ); - } + ), + ); + } - return Column( - children: [ - VideoABRepeatOverlay( - controller: controller, - scale: scale, - ), - const SizedBox(height: 8), - Row( - children: [ - Expanded( - child: VideoProgressBar( - controller: controller, - scale: scale, - ), - ), - VideoControlRow( - entry: entry, + return Column( + children: [ + VideoABRepeatOverlay( + controller: controller, + scale: scale, + ), + const SizedBox(height: 8), + Row( + textDirection: ViewerBottomOverlay.actionsDirection, + children: [ + Expanded( + child: VideoProgressBar( controller: controller, scale: scale, - onActionSelected: widget.onActionSelected, ), - ], - ), - ], - ); - }, - ), + ), + VideoControlRow( + entry: entry, + controller: controller, + scale: scale, + onActionSelected: widget.onActionSelected, + ), + ], + ), + ], + ); + }, ); } } diff --git a/lib/widgets/viewer/overlay/viewer_buttons.dart b/lib/widgets/viewer/overlay/viewer_buttons.dart index 88a8508e5..6b2e3a237 100644 --- a/lib/widgets/viewer/overlay/viewer_buttons.dart +++ b/lib/widgets/viewer/overlay/viewer_buttons.dart @@ -26,6 +26,7 @@ import 'package:aves/widgets/common/identity/buttons/captioned_button.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; import 'package:aves/widgets/viewer/action/entry_action_delegate.dart'; import 'package:aves/widgets/viewer/controls/notifications.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:aves/widgets/viewer/video/conductor.dart'; import 'package:aves_model/aves_model.dart'; import 'package:aves_utils/aves_utils.dart'; @@ -130,6 +131,7 @@ class _TvButtonRowContent extends StatelessWidget { return Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, + textDirection: ViewerBottomOverlay.actionsDirection, children: [ ...EntryActions.topLevel, ...EntryActions.export, @@ -257,6 +259,7 @@ class _ViewerButtonRowContentState extends State { return Padding( padding: const EdgeInsets.only(left: padding / 2, right: padding / 2, bottom: padding), child: Row( + textDirection: ViewerBottomOverlay.actionsDirection, children: [ const Spacer(), ...widget.quickActions.map((action) => _buildOverlayButton(context, action, videoController)), diff --git a/lib/widgets/viewer/overlay/wallpaper_buttons.dart b/lib/widgets/viewer/overlay/wallpaper_buttons.dart index 1d4b2d519..3c058a441 100644 --- a/lib/widgets/viewer/overlay/wallpaper_buttons.dart +++ b/lib/widgets/viewer/overlay/wallpaper_buttons.dart @@ -10,6 +10,7 @@ import 'package:aves/widgets/common/action_mixins/feedback.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/buttons/overlay_button.dart'; import 'package:aves/widgets/dialogs/wallpaper_settings_dialog.dart'; +import 'package:aves/widgets/viewer/overlay/bottom.dart'; import 'package:aves/widgets/viewer/overlay/viewer_buttons.dart'; import 'package:aves/widgets/viewer/video/conductor.dart'; import 'package:aves/widgets/viewer/view/conductor.dart'; @@ -38,6 +39,7 @@ class WallpaperButtons extends StatelessWidget with FeedbackMixin { child: Padding( padding: const EdgeInsets.only(left: padding / 2, right: padding / 2, bottom: padding), child: Row( + textDirection: ViewerBottomOverlay.actionsDirection, children: [ const Spacer(), Padding( From f10abcd6704c76977f1c4cf6171bfe28de403be3 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 20 May 2024 15:20:13 +0200 Subject: [PATCH 10/34] format review --- .../entry/extensions/metadata_edition.dart | 8 +++--- lib/model/entry/extensions/props.dart | 6 ++--- lib/model/filters/date.dart | 5 ++-- .../settings/enums/coordinate_format.dart | 7 +++-- lib/utils/file_utils.dart | 10 +++---- lib/widgets/about/app_ref.dart | 2 +- lib/widgets/about/bug_report.dart | 5 +--- lib/widgets/about/data_usage.dart | 2 +- lib/widgets/collection/collection_grid.dart | 2 +- .../collection/draggable_thumb_label.dart | 2 +- lib/widgets/collection/grid/headers/date.dart | 6 +++-- lib/widgets/collection/grid/list_details.dart | 2 +- .../collection/grid/list_details_theme.dart | 4 +-- .../common/action_mixins/feedback.dart | 10 +++---- .../common/action_mixins/size_aware.dart | 5 ++-- lib/widgets/common/basic/wheel.dart | 4 ++- .../common/extensions/build_context.dart | 4 ++- .../common/grid/draggable_thumb_label.dart | 10 +++---- .../common/identity/highlight_title.dart | 2 +- lib/widgets/common/map/geo_map.dart | 4 +-- lib/widgets/dialogs/duration_dialog.dart | 14 +++++++--- .../entry_editors/edit_date_dialog.dart | 27 +++++++++++-------- .../entry_editors/edit_location_dialog.dart | 2 +- .../entry_editors/rename_entry_set_page.dart | 2 +- .../editor/transform/control_panel.dart | 3 ++- .../common/covered_filter_chip.dart | 5 ++-- .../common/draggable_thumb_label.dart | 3 +-- .../filter_grids/common/list_details.dart | 7 ++--- .../common/list_details_theme.dart | 4 +-- lib/widgets/map/date_row.dart | 3 +-- lib/widgets/navigation/drawer/app_drawer.dart | 5 ++-- lib/widgets/navigation/tv_rail.dart | 7 ++--- lib/widgets/stats/date/histogram.dart | 11 ++++---- lib/widgets/stats/filter_table.dart | 5 ++-- lib/widgets/stats/mime_donut.dart | 5 ++-- lib/widgets/stats/percent_text.dart | 5 ++-- lib/widgets/stats/stats_page.dart | 2 +- lib/widgets/viewer/info/basic_section.dart | 5 ++-- lib/widgets/viewer/overlay/details/date.dart | 2 +- .../viewer/overlay/details/shooting.dart | 2 +- plugins/aves_map/lib/src/marker/image.dart | 6 ++--- 41 files changed, 108 insertions(+), 117 deletions(-) diff --git a/lib/model/entry/extensions/metadata_edition.dart b/lib/model/entry/extensions/metadata_edition.dart index 29d1d447d..1a75e9fd3 100644 --- a/lib/model/entry/extensions/metadata_edition.dart +++ b/lib/model/entry/extensions/metadata_edition.dart @@ -23,6 +23,9 @@ import 'package:latlong2/latlong.dart'; import 'package:xml/xml.dart'; extension ExtraAvesEntryMetadataEdition on AvesEntry { + static final _iso6709LatitudeFormatter = NumberFormat('00.0000', asciiLocale); + static final _iso6709LongitudeFormatter = NumberFormat('000.0000', asciiLocale); + Future> editDate(DateModifier userModifier) async { final dataTypes = {}; @@ -122,9 +125,8 @@ extension ExtraAvesEntryMetadataEdition on AvesEntry { if (latLng != null && latLng != removalLocation) { final latitude = latLng.latitude; final longitude = latLng.longitude; - const locale = asciiLocale; - final isoLat = '${latitude >= 0 ? '+' : '-'}${NumberFormat('00.0000', locale).format(latitude.abs())}'; - final isoLon = '${longitude >= 0 ? '+' : '-'}${NumberFormat('000.0000', locale).format(longitude.abs())}'; + final isoLat = '${latitude >= 0 ? '+' : '-'}${_iso6709LatitudeFormatter.format(latitude.abs())}'; + final isoLon = '${longitude >= 0 ? '+' : '-'}${_iso6709LongitudeFormatter.format(longitude.abs())}'; iso6709String = '$isoLat$isoLon/'; } mp4Fields[MetadataField.mp4GpsCoordinates] = iso6709String; diff --git a/lib/model/entry/extensions/props.dart b/lib/model/entry/extensions/props.dart index b231b5616..88d8b5b1a 100644 --- a/lib/model/entry/extensions/props.dart +++ b/lib/model/entry/extensions/props.dart @@ -53,9 +53,9 @@ extension ExtraAvesEntryProps on AvesEntry { // text String getResolutionText(String locale) { - final numberFormat = NumberFormat('0', locale); - final ws = numberFormat.format(width); - final hs = numberFormat.format(height); + final dimensionFormatter = NumberFormat('0', locale); + final ws = dimensionFormatter.format(width); + final hs = dimensionFormatter.format(height); return isRotated ? '$hs${AText.resolutionSeparator}$ws' : '$ws${AText.resolutionSeparator}$hs'; } diff --git a/lib/model/filters/date.dart b/lib/model/filters/date.dart index 4749fcd4d..3e5f1560f 100644 --- a/lib/model/filters/date.dart +++ b/lib/model/filters/date.dart @@ -100,8 +100,7 @@ class DateFilter extends CollectionFilter { @override String getLabel(BuildContext context) { - final l10n = context.l10n; - final locale = l10n.localeName; + final locale = context.locale; switch (level) { case DateLevel.y: return DateFormat.y(locale).format(_effectiveDate); @@ -113,7 +112,7 @@ class DateFilter extends CollectionFilter { if (date != null) { return DateFormat.MMMd(locale).format(_effectiveDate); } else { - return l10n.filterOnThisDayLabel; + return context.l10n.filterOnThisDayLabel; } case DateLevel.m: return DateFormat.MMMM(locale).format(_effectiveDate); diff --git a/lib/model/settings/enums/coordinate_format.dart b/lib/model/settings/enums/coordinate_format.dart index cf90b4936..bf3a5b6ec 100644 --- a/lib/model/settings/enums/coordinate_format.dart +++ b/lib/model/settings/enums/coordinate_format.dart @@ -55,11 +55,10 @@ extension ExtraCoordinateFormat on CoordinateFormat { } static List _toDecimal(AppLocalizations l10n, LatLng latLng) { - final locale = l10n.localeName; - final formatter = NumberFormat('0.000000°', locale); + final coordinateFormatter = NumberFormat('0.000000°', l10n.localeName); return [ - formatter.format(latLng.latitude), - formatter.format(latLng.longitude), + coordinateFormatter.format(latLng.latitude), + coordinateFormatter.format(latLng.longitude), ]; } } diff --git a/lib/utils/file_utils.dart b/lib/utils/file_utils.dart index 5ed77aaf5..4f3f0b745 100644 --- a/lib/utils/file_utils.dart +++ b/lib/utils/file_utils.dart @@ -8,9 +8,9 @@ const tera = giga * kilo; String formatFileSize(String locale, int size, {int round = 2}) { if (size < kilo) return '$size B'; - final formatter = NumberFormat('0${round > 0 ? '.${'0' * round}' : ''}', locale); - if (size < mega) return '${formatter.format(size / kilo)} KB'; - if (size < giga) return '${formatter.format(size / mega)} MB'; - if (size < tera) return '${formatter.format(size / giga)} GB'; - return '${formatter.format(size / tera)} TB'; + final compactFormatter = NumberFormat('0${round > 0 ? '.${'0' * round}' : ''}', locale); + if (size < mega) return '${compactFormatter.format(size / kilo)} KB'; + if (size < giga) return '${compactFormatter.format(size / mega)} MB'; + if (size < tera) return '${compactFormatter.format(size / giga)} GB'; + return '${compactFormatter.format(size / tera)} TB'; } diff --git a/lib/widgets/about/app_ref.dart b/lib/widgets/about/app_ref.dart index 8e7c2fb1c..8443d1597 100644 --- a/lib/widgets/about/app_ref.dart +++ b/lib/widgets/about/app_ref.dart @@ -31,7 +31,7 @@ class AppReference extends StatelessWidget { } Widget _buildAvesLine(BuildContext context) { - final locale = context.l10n.localeName; + final locale = context.locale; final textScaler = MediaQuery.textScalerOf(context); return Row( mainAxisSize: MainAxisSize.min, diff --git a/lib/widgets/about/bug_report.dart b/lib/widgets/about/bug_report.dart index bda875f29..cb5dd48ff 100644 --- a/lib/widgets/about/bug_report.dart +++ b/lib/widgets/about/bug_report.dart @@ -122,9 +122,6 @@ class _BugReportState extends State with FeedbackMixin { } Widget _buildStep(int step, String text, String buttonText, VoidCallback onPressed) { - final locale = context.l10n.localeName; - final numberFormat = NumberFormat.decimalPattern(locale); - final isMonochrome = settings.themeColorMode == AvesThemeColorMode.monochrome; return Padding( padding: const EdgeInsets.symmetric(vertical: 4), @@ -139,7 +136,7 @@ class _BugReportState extends State with FeedbackMixin { )), shape: BoxShape.circle, ), - child: Text(numberFormat.format(step)), + child: Text(NumberFormat('0', context.locale).format(step)), ), const SizedBox(width: 8), Expanded(child: Text(text)), diff --git a/lib/widgets/about/data_usage.dart b/lib/widgets/about/data_usage.dart index b811a28f5..39a523762 100644 --- a/lib/widgets/about/data_usage.dart +++ b/lib/widgets/about/data_usage.dart @@ -137,7 +137,7 @@ class DataUsageDonut extends StatelessWidget { @override Widget build(BuildContext context) { final l10n = context.l10n; - final locale = l10n.localeName; + final locale = context.locale; return AvesDonut( title: Text(title), diff --git a/lib/widgets/collection/collection_grid.dart b/lib/widgets/collection/collection_grid.dart index 02c2c11f5..08832097a 100644 --- a/lib/widgets/collection/collection_grid.dart +++ b/lib/widgets/collection/collection_grid.dart @@ -673,7 +673,7 @@ class _CollectionScrollViewState extends State<_CollectionScrollView> with Widge final newest = firstKey.date; final oldest = lastKey.date; if (newest != null && oldest != null) { - final locale = context.l10n.localeName; + final locale = context.locale; final dateFormat = (newest.difference(oldest).inHumanDays).abs() > 365 ? DateFormat.y(locale) : DateFormat.MMM(locale); String? lastLabel; sectionLayouts.forEach((section) { diff --git a/lib/widgets/collection/draggable_thumb_label.dart b/lib/widgets/collection/draggable_thumb_label.dart index 5dc38ace4..a48a6dadb 100644 --- a/lib/widgets/collection/draggable_thumb_label.dart +++ b/lib/widgets/collection/draggable_thumb_label.dart @@ -55,7 +55,7 @@ class CollectionDraggableThumbLabel extends StatelessWidget { ]; case EntrySortFactor.size: return [ - if (entry.sizeBytes != null) formatFileSize(context.l10n.localeName, entry.sizeBytes!, round: 0), + if (entry.sizeBytes != null) formatFileSize(context.locale, entry.sizeBytes!, round: 0), ]; } }, diff --git a/lib/widgets/collection/grid/headers/date.dart b/lib/widgets/collection/grid/headers/date.dart index a772a0712..2dd51383b 100644 --- a/lib/widgets/collection/grid/headers/date.dart +++ b/lib/widgets/collection/grid/headers/date.dart @@ -40,7 +40,8 @@ class DaySectionHeader extends StatelessWidget { if (date == null) return l10n.sectionUnknown; if (date.isToday) return l10n.dateToday; if (date.isYesterday) return l10n.dateYesterday; - final locale = l10n.localeName; + + final locale = context.locale; if (date.isThisYear) return '${DateFormat.MMMMd(locale).format(date)} (${DateFormat.E(locale).format(date)})'; return '${DateFormat.yMMMMd(locale).format(date)} (${DateFormat.E(locale).format(date)})'; } @@ -69,7 +70,8 @@ class MonthSectionHeader extends StatelessWidget { final l10n = context.l10n; if (date == null) return l10n.sectionUnknown; if (date.isThisMonth) return l10n.dateThisMonth; - final locale = l10n.localeName; + + final locale = context.locale; final localized = date.isThisYear ? DateFormat.MMMM(locale).format(date) : DateFormat.yMMMM(locale).format(date); return '${localized.substring(0, 1).toUpperCase()}${localized.substring(1)}'; } diff --git a/lib/widgets/collection/grid/list_details.dart b/lib/widgets/collection/grid/list_details.dart index 8b3c9790e..898cc9285 100644 --- a/lib/widgets/collection/grid/list_details.dart +++ b/lib/widgets/collection/grid/list_details.dart @@ -75,7 +75,7 @@ class EntryListDetails extends StatelessWidget { } Widget _buildDateRow(BuildContext context, TextStyle style) { - final locale = context.l10n.localeName; + final locale = context.locale; final use24hour = MediaQuery.alwaysUse24HourFormatOf(context); final date = entry.bestDate; final dateText = date != null ? formatDateTime(date, locale, use24hour) : AText.valueNotAvailable; diff --git a/lib/widgets/collection/grid/list_details_theme.dart b/lib/widgets/collection/grid/list_details_theme.dart index 41da131a3..bc93023c2 100644 --- a/lib/widgets/collection/grid/list_details_theme.dart +++ b/lib/widgets/collection/grid/list_details_theme.dart @@ -24,8 +24,6 @@ class EntryListDetailsTheme extends StatelessWidget { Widget build(BuildContext context) { return ProxyProvider( update: (context, mq, previous) { - final locale = context.l10n.localeName; - final use24hour = mq.alwaysUse24HourFormat; final textScaler = mq.textScaler; @@ -50,7 +48,7 @@ class EntryListDetailsTheme extends StatelessWidget { final captionLineHeightParagraph = RenderParagraph( TextSpan( - text: formatDateTime(DateTime.now(), locale, use24hour), + text: formatDateTime(DateTime.now(), context.locale, use24hour), style: captionStyle, ), textDirection: TextDirection.ltr, diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index a478780b9..ad348f983 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -218,8 +218,7 @@ class _ReportOverlayState extends State> with SingleTickerPr @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; - final percentFormat = NumberFormat.percentPattern(locale); + final percentFormatter = NumberFormat.percentPattern(context.locale); final theme = Theme.of(context); final colorScheme = theme.colorScheme; @@ -265,7 +264,7 @@ class _ReportOverlayState extends State> with SingleTickerPr animation: animate, center: total != null ? Text( - percentFormat.format(percent), + percentFormatter.format(percent), style: const TextStyle(fontSize: fontSize), ) : null, @@ -353,8 +352,7 @@ class _FeedbackMessageState extends State<_FeedbackMessage> with SingleTickerPro @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; - final numberFormat = NumberFormat('0', locale); + final durationFormatter = NumberFormat('0', context.locale); final textScaler = MediaQuery.textScalerOf(context); final theme = Theme.of(context); @@ -393,7 +391,7 @@ class _FeedbackMessageState extends State<_FeedbackMessage> with SingleTickerPro // because we cannot use the app context theme here foreground: widget.progressColor, center: ChangeHighlightText( - numberFormat.format((remainingDurationMillis / 1000).ceil()), + durationFormatter.format((remainingDurationMillis / 1000).ceil()), style: contentTextStyle.copyWith( shadows: [ Shadow( diff --git a/lib/widgets/common/action_mixins/size_aware.dart b/lib/widgets/common/action_mixins/size_aware.dart index d8a7c32c5..0510ea069 100644 --- a/lib/widgets/common/action_mixins/size_aware.dart +++ b/lib/widgets/common/action_mixins/size_aware.dart @@ -77,13 +77,12 @@ mixin SizeAwareMixin { await showDialog( context: context, builder: (context) { - final l10n = context.l10n; - final locale = l10n.localeName; + final locale = context.locale; final neededSize = formatFileSize(locale, needed); final freeSize = formatFileSize(locale, free); final volume = destinationVolume.getDescription(context); return AvesDialog( - content: Text(l10n.notEnoughSpaceDialogMessage(neededSize, freeSize, volume)), + content: Text(context.l10n.notEnoughSpaceDialogMessage(neededSize, freeSize, volume)), actions: const [OkButton()], ); }, diff --git a/lib/widgets/common/basic/wheel.dart b/lib/widgets/common/basic/wheel.dart index 8570b2415..668f12f87 100644 --- a/lib/widgets/common/basic/wheel.dart +++ b/lib/widgets/common/basic/wheel.dart @@ -8,6 +8,7 @@ class WheelSelector extends StatefulWidget { final List values; final TextStyle textStyle; final TextAlign textAlign; + final String Function(T v) format; const WheelSelector({ super.key, @@ -15,6 +16,7 @@ class WheelSelector extends StatefulWidget { required this.values, required this.textStyle, required this.textAlign, + required this.format, }); @override @@ -117,7 +119,7 @@ class _WheelSelectorState extends State> { .map((i) => SizedBox.fromSize( size: itemSize, child: Text( - '$i', + widget.format(i), textAlign: widget.textAlign, style: widget.textStyle, ), diff --git a/lib/widgets/common/extensions/build_context.dart b/lib/widgets/common/extensions/build_context.dart index 7a5585e74..ba027341d 100644 --- a/lib/widgets/common/extensions/build_context.dart +++ b/lib/widgets/common/extensions/build_context.dart @@ -7,7 +7,9 @@ extension ExtraContext on BuildContext { AppLocalizations get l10n => AppLocalizations.of(this)!; - bool get isArabic => l10n.localeName.startsWith('ar'); + String get locale => l10n.localeName; + + bool get isArabic => locale.startsWith('ar'); bool get isRtl => Directionality.of(this) == TextDirection.rtl; diff --git a/lib/widgets/common/grid/draggable_thumb_label.dart b/lib/widgets/common/grid/draggable_thumb_label.dart index eb516f34c..06455979e 100644 --- a/lib/widgets/common/grid/draggable_thumb_label.dart +++ b/lib/widgets/common/grid/draggable_thumb_label.dart @@ -62,15 +62,13 @@ class DraggableThumbLabel extends StatelessWidget { } static String formatMonthThumbLabel(BuildContext context, DateTime? date) { - final l10n = context.l10n; - if (date == null) return l10n.sectionUnknown; - return DateFormat.yMMM(l10n.localeName).format(date); + if (date == null) return context.l10n.sectionUnknown; + return DateFormat.yMMM(context.locale).format(date); } static String formatDayThumbLabel(BuildContext context, DateTime? date) { - final l10n = context.l10n; - if (date == null) return l10n.sectionUnknown; - return formatDay(date, l10n.localeName); + if (date == null) return context.l10n.sectionUnknown; + return formatDay(date, context.locale); } } diff --git a/lib/widgets/common/identity/highlight_title.dart b/lib/widgets/common/identity/highlight_title.dart index 53ad36e0a..76647e1cf 100644 --- a/lib/widgets/common/identity/highlight_title.dart +++ b/lib/widgets/common/identity/highlight_title.dart @@ -41,7 +41,7 @@ class HighlightTitle extends StatelessWidget { final style = TextStyle( shadows: shadows(context), fontSize: fontSize, - letterSpacing: canHaveLetterSpacing(context.l10n.localeName) ? 1 : 0, + letterSpacing: canHaveLetterSpacing(context.locale) ? 1 : 0, fontFeatures: const [FontFeature.enable('smcp')], ); diff --git a/lib/widgets/common/map/geo_map.dart b/lib/widgets/common/map/geo_map.dart index ee9bec0aa..9c9ee0285 100644 --- a/lib/widgets/common/map/geo_map.dart +++ b/lib/widgets/common/map/geo_map.dart @@ -146,7 +146,7 @@ class _GeoMapState extends State { selector: (context, s) => s.mapStyle, builder: (context, mapStyle, child) { final isHeavy = ExtraEntryMapStyle.isHeavy(mapStyle); - final locale = context.l10n.localeName; + final locale = context.locale; Widget _buildMarkerWidget(MarkerKey key) => ImageMarker( key: key, count: key.count, @@ -484,7 +484,7 @@ class _GeoMapState extends State { } else { markerEntry = geoEntry.entry!; } - final locale = context.l10n.localeName; + final locale = context.locale; final markerLocation = LatLng(geoEntry.latitude!, geoEntry.longitude!); Widget markerBuilder(BuildContext context) => ImageMarker( count: geoEntry.pointsSize, diff --git a/lib/widgets/dialogs/duration_dialog.dart b/lib/widgets/dialogs/duration_dialog.dart index bd547686f..ad742c4cb 100644 --- a/lib/widgets/dialogs/duration_dialog.dart +++ b/lib/widgets/dialogs/duration_dialog.dart @@ -5,6 +5,7 @@ import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/providers/media_query_data_provider.dart'; import 'package:aves/widgets/dialogs/aves_dialog.dart'; import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; class DurationDialog extends StatefulWidget { final int initialSeconds; @@ -41,7 +42,10 @@ class _DurationDialogState extends State { return MediaQueryDataProvider( child: Builder(builder: (context) { final l10n = context.l10n; + final timeComponentFormatter = NumberFormat('0', context.locale); + const textStyle = TextStyle(fontSize: 34); + const digitsAlign = TextAlign.right; return AvesDialog( scrollableContent: [ @@ -53,9 +57,9 @@ class _DurationDialogState extends State { children: [ TableRow( children: [ - Center(child: Text(context.l10n.durationDialogMinutes)), + Center(child: Text(l10n.durationDialogMinutes)), const SizedBox(width: 16), - Center(child: Text(context.l10n.durationDialogSeconds)), + Center(child: Text(l10n.durationDialogSeconds)), ], ), TableRow( @@ -66,7 +70,8 @@ class _DurationDialogState extends State { valueNotifier: _minutes, values: List.generate(minutesInHour, (i) => i), textStyle: textStyle, - textAlign: TextAlign.end, + textAlign: digitsAlign, + format: timeComponentFormatter.format, ), ), const Padding( @@ -82,7 +87,8 @@ class _DurationDialogState extends State { valueNotifier: _seconds, values: List.generate(secondsInMinute, (i) => i), textStyle: textStyle, - textAlign: TextAlign.end, + textAlign: digitsAlign, + format: timeComponentFormatter.format, ), ), ], diff --git a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart index 28cd80e5c..a9e157784 100644 --- a/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_date_dialog.dart @@ -18,6 +18,7 @@ import 'package:aves/widgets/dialogs/item_picker.dart'; import 'package:aves/widgets/dialogs/pick_dialogs/item_pick_page.dart'; import 'package:aves_model/aves_model.dart'; import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; class EditEntryDateDialog extends StatefulWidget { @@ -147,19 +148,17 @@ class _EditEntryDateDialogState extends State { } Widget _buildSetCustomContent(BuildContext context) { - final l10n = context.l10n; - final locale = l10n.localeName; final use24hour = MediaQuery.alwaysUse24HourFormatOf(context); return Padding( padding: const EdgeInsetsDirectional.only(start: 16, end: 8), child: Row( children: [ - Expanded(child: Text(formatDateTime(_customDateTime, locale, use24hour))), + Expanded(child: Text(formatDateTime(_customDateTime, context.locale, use24hour))), IconButton( icon: const Icon(AIcons.edit), onPressed: _editDate, - tooltip: l10n.changeTooltip, + tooltip: context.l10n.changeTooltip, ), ], ), @@ -181,15 +180,13 @@ class _EditEntryDateDialogState extends State { } Widget _buildCopyItemContent(BuildContext context) { - final l10n = context.l10n; - final locale = l10n.localeName; final use24hour = MediaQuery.alwaysUse24HourFormatOf(context); return Padding( padding: const EdgeInsetsDirectional.only(start: 16, end: 8), child: Row( children: [ - Expanded(child: Text(formatDateTime(copyItemDate, locale, use24hour))), + Expanded(child: Text(formatDateTime(copyItemDate, context.locale, use24hour))), const SizedBox(width: 8), ItemPicker( extent: 48, @@ -202,7 +199,12 @@ class _EditEntryDateDialogState extends State { } Widget _buildShiftContent(BuildContext context) { + final l10n = context.l10n; + final timeComponentFormatter = NumberFormat('0', context.locale); + const textStyle = TextStyle(fontSize: 34); + const digitsAlign = TextAlign.right; + return Center( child: Table( textDirection: timeComponentsDirection, @@ -210,9 +212,9 @@ class _EditEntryDateDialogState extends State { TableRow( children: [ const SizedBox(), - Center(child: Text(context.l10n.durationDialogHours)), + Center(child: Text(l10n.durationDialogHours)), const SizedBox(width: 16), - Center(child: Text(context.l10n.durationDialogMinutes)), + Center(child: Text(l10n.durationDialogMinutes)), ], ), TableRow( @@ -222,6 +224,7 @@ class _EditEntryDateDialogState extends State { values: const ['+', '-'], textStyle: textStyle, textAlign: TextAlign.center, + format: (v) => v, ), Align( alignment: Alignment.centerRight, @@ -229,7 +232,8 @@ class _EditEntryDateDialogState extends State { valueNotifier: _shiftHour, values: List.generate(hoursInDay, (i) => i), textStyle: textStyle, - textAlign: TextAlign.end, + textAlign: digitsAlign, + format: timeComponentFormatter.format, ), ), const Padding( @@ -245,7 +249,8 @@ class _EditEntryDateDialogState extends State { valueNotifier: _shiftMinute, values: List.generate(minutesInHour, (i) => i), textStyle: textStyle, - textAlign: TextAlign.end, + textAlign: digitsAlign, + format: timeComponentFormatter.format, ), ), ], diff --git a/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart b/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart index ca73fa477..39e98aae9 100644 --- a/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart +++ b/lib/widgets/dialogs/entry_editors/edit_location_dialog.dart @@ -48,7 +48,7 @@ class _EditEntryLocationDialogState extends State { final TextEditingController _latitudeController = TextEditingController(), _longitudeController = TextEditingController(); final ValueNotifier _isValidNotifier = ValueNotifier(false); - NumberFormat get coordinateFormatter => NumberFormat('0.000000', context.l10n.localeName); + NumberFormat get coordinateFormatter => NumberFormat('0.000000', context.locale); @override void initState() { diff --git a/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart b/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart index ea944f59f..b46652c4c 100644 --- a/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart +++ b/lib/widgets/dialogs/entry_editors/rename_entry_set_page.dart @@ -54,7 +54,7 @@ class _RenameEntrySetPageState extends State { _patternTextController.addListener(_onUserPatternChanged); WidgetsBinding.instance.addPostFrameCallback((_) { - locale = context.l10n.localeName; + locale = context.locale; _onUserPatternChanged(); }); } diff --git a/lib/widgets/editor/transform/control_panel.dart b/lib/widgets/editor/transform/control_panel.dart index 47a5f41ae..5438de4a5 100644 --- a/lib/widgets/editor/transform/control_panel.dart +++ b/lib/widgets/editor/transform/control_panel.dart @@ -156,6 +156,7 @@ class RotationControlPanel extends StatelessWidget { @override Widget build(BuildContext context) { final controller = context.watch(); + final angleFormatter = NumberFormat('0.0°', context.locale); return Row( children: [ @@ -172,7 +173,7 @@ class RotationControlPanel extends StatelessWidget { divisions: 18, onChangeStart: (v) => controller.activity = TransformActivity.straighten, onChangeEnd: (v) => controller.activity = TransformActivity.none, - label: NumberFormat('0.0°', context.l10n.localeName).format(transformation.straightenDegrees), + label: angleFormatter.format(transformation.straightenDegrees), onChanged: (v) => controller.straightenDegrees = v, ); }, diff --git a/lib/widgets/filter_grids/common/covered_filter_chip.dart b/lib/widgets/filter_grids/common/covered_filter_chip.dart index 6e9e86395..c16ed1fb8 100644 --- a/lib/widgets/filter_grids/common/covered_filter_chip.dart +++ b/lib/widgets/filter_grids/common/covered_filter_chip.dart @@ -171,8 +171,7 @@ class CoveredFilterChip extends StatelessWidget { Color _detailColor(BuildContext context) => Theme.of(context).colorScheme.onSurfaceVariant; Widget _buildDetails(BuildContext context, CollectionSource source, T filter) { - final locale = context.l10n.localeName; - final numberFormat = NumberFormat.decimalPattern(locale); + final countFormatter = NumberFormat.decimalPattern(context.locale); final padding = min(8.0, extent / 16); final iconSize = detailIconSize(extent); @@ -211,7 +210,7 @@ class CoveredFilterChip extends StatelessWidget { ), ), Text( - locked ? AText.valueNotAvailable : numberFormat.format(source.count(filter)), + locked ? AText.valueNotAvailable : countFormatter.format(source.count(filter)), style: TextStyle( color: _detailColor(context), fontSize: fontSize, diff --git a/lib/widgets/filter_grids/common/draggable_thumb_label.dart b/lib/widgets/filter_grids/common/draggable_thumb_label.dart index ab0f9941f..fa06daddc 100644 --- a/lib/widgets/filter_grids/common/draggable_thumb_label.dart +++ b/lib/widgets/filter_grids/common/draggable_thumb_label.dart @@ -36,9 +36,8 @@ class FilterDraggableThumbLabel extends StatelessWid context.l10n.itemCount(context.read().count(filterGridItem.filter)), ]; case ChipSortFactor.size: - final locale = context.l10n.localeName; return [ - formatFileSize(locale, context.read().size(filterGridItem.filter)), + formatFileSize(context.locale, context.read().size(filterGridItem.filter)), ]; } }, diff --git a/lib/widgets/filter_grids/common/list_details.dart b/lib/widgets/filter_grids/common/list_details.dart index 955ff70fb..1124afaac 100644 --- a/lib/widgets/filter_grids/common/list_details.dart +++ b/lib/widgets/filter_grids/common/list_details.dart @@ -84,10 +84,9 @@ class FilterListDetails extends StatelessWidget { } Widget _buildDateRow(BuildContext context, FilterListDetailsThemeData detailsTheme, bool hasTitleLeading) { - final locale = context.l10n.localeName; final use24hour = MediaQuery.alwaysUse24HourFormatOf(context); final date = entry?.bestDate; - final dateText = date != null ? formatDateTime(date, locale, use24hour) : AText.valueNotAvailable; + final dateText = date != null ? formatDateTime(date, context.locale, use24hour) : AText.valueNotAvailable; Widget leading = const Icon(AIcons.date); if (hasTitleLeading) { @@ -143,8 +142,6 @@ class FilterListDetails extends StatelessWidget { child: Center(child: leading ?? const SizedBox()), ); - final l10n = context.l10n; - final locale = l10n.localeName; final source = context.read(); return IconTheme.merge( @@ -154,7 +151,7 @@ class FilterListDetails extends StatelessWidget { leading, const SizedBox(width: 8), Text( - '${l10n.itemCount(source.count(filter))} • ${formatFileSize(locale, source.size(filter))}', + '${context.l10n.itemCount(source.count(filter))} • ${formatFileSize(context.locale, source.size(filter))}', style: detailsTheme.captionStyle, softWrap: false, overflow: TextOverflow.fade, diff --git a/lib/widgets/filter_grids/common/list_details_theme.dart b/lib/widgets/filter_grids/common/list_details_theme.dart index d5af3e26d..b828d16cb 100644 --- a/lib/widgets/filter_grids/common/list_details_theme.dart +++ b/lib/widgets/filter_grids/common/list_details_theme.dart @@ -28,8 +28,6 @@ class FilterListDetailsTheme extends StatelessWidget { Widget build(BuildContext context) { return ProxyProvider( update: (context, mq, previous) { - final locale = context.l10n.localeName; - final use24hour = mq.alwaysUse24HourFormat; final textScaler = mq.textScaler; @@ -54,7 +52,7 @@ class FilterListDetailsTheme extends StatelessWidget { titleLineHeightParagraph.dispose(); final captionLineHeightParagraph = RenderParagraph( - TextSpan(text: formatDateTime(DateTime.now(), locale, use24hour), style: captionStyle), + TextSpan(text: formatDateTime(DateTime.now(), context.locale, use24hour), style: captionStyle), textDirection: TextDirection.ltr, textScaler: textScaler, )..layout(const BoxConstraints(), parentUsesSize: true); diff --git a/lib/widgets/map/date_row.dart b/lib/widgets/map/date_row.dart index e663afcb0..d83e71573 100644 --- a/lib/widgets/map/date_row.dart +++ b/lib/widgets/map/date_row.dart @@ -16,11 +16,10 @@ class MapDateRow extends StatelessWidget { @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; final use24hour = MediaQuery.alwaysUse24HourFormatOf(context); final date = entry?.bestDate; - final dateText = date != null ? formatDateTime(date, locale, use24hour) : AText.valueNotAvailable; + final dateText = date != null ? formatDateTime(date, context.locale, use24hour) : AText.valueNotAvailable; return Text.rich( TextSpan( children: [ diff --git a/lib/widgets/navigation/drawer/app_drawer.dart b/lib/widgets/navigation/drawer/app_drawer.dart index c04705690..8ecb4d440 100644 --- a/lib/widgets/navigation/drawer/app_drawer.dart +++ b/lib/widgets/navigation/drawer/app_drawer.dart @@ -112,7 +112,6 @@ class _AppDrawerState extends State { Widget _buildHeader(BuildContext context) { final l10n = context.l10n; - final locale = l10n.localeName; Future goTo(String routeName, WidgetBuilder pageBuilder) async { Navigator.maybeOf(context)?.pop(); @@ -153,7 +152,7 @@ class _AppDrawerState extends State { color: Colors.white, fontSize: 38, fontWeight: FontWeight.w300, - letterSpacing: canHaveLetterSpacing(locale) ? 1 : 0, + letterSpacing: canHaveLetterSpacing(context.locale) ? 1 : 0, fontFeatures: const [FontFeature.enable('smcp')], ), ), @@ -295,7 +294,7 @@ class _AppDrawerState extends State { return CollectionNavTile( leading: const DrawerFilterIcon(filter: filter), title: const DrawerFilterTitle(filter: filter), - trailing: Text(formatFileSize(context.l10n.localeName, trashSize, round: 0)), + trailing: Text(formatFileSize(context.locale, trashSize, round: 0)), filter: filter, isSelected: () => currentCollection?.filters.contains(filter) ?? false, ); diff --git a/lib/widgets/navigation/tv_rail.dart b/lib/widgets/navigation/tv_rail.dart index ee75292a1..a55c2cb84 100644 --- a/lib/widgets/navigation/tv_rail.dart +++ b/lib/widgets/navigation/tv_rail.dart @@ -91,9 +91,6 @@ class _TvRailState extends State { @override Widget build(BuildContext context) { - final l10n = context.l10n; - final locale = l10n.localeName; - final navEntries = _getNavEntries(context); return DirectionalSafeArea( end: false, @@ -107,12 +104,12 @@ class _TvRailState extends State { logo, const SizedBox(width: 16), Text( - l10n.appName, + context.l10n.appName, style: TextStyle( color: Colors.white, fontSize: 32, fontWeight: FontWeight.w300, - letterSpacing: canHaveLetterSpacing(locale) ? 1 : 0, + letterSpacing: canHaveLetterSpacing(context.locale) ? 1 : 0, fontFeatures: const [FontFeature.enable('smcp')], ), ), diff --git a/lib/widgets/stats/date/histogram.dart b/lib/widgets/stats/date/histogram.dart index 93db96de7..4ad68866a 100644 --- a/lib/widgets/stats/date/histogram.dart +++ b/lib/widgets/stats/date/histogram.dart @@ -223,7 +223,7 @@ class _HistogramState extends State with AutomaticKeepAliveClientMixi )..setAttribute(charts.rendererIdKey, 'customPoint'), ]; - final locale = context.l10n.localeName; + final locale = context.locale; final timeAxisSpec = _firstDate != null && _lastDate != null ? TimeAxisSpec.forLevel( locale: locale, @@ -232,7 +232,7 @@ class _HistogramState extends State with AutomaticKeepAliveClientMixi last: _lastDate!, ) : null; - final measureFormat = NumberFormat.decimalPattern(locale); + final tickFormatter = NumberFormat.decimalPattern(locale); final domainAxis = charts.DateTimeAxisSpec( renderSpec: charts.SmallTickRendererSpec( @@ -254,7 +254,7 @@ class _HistogramState extends State with AutomaticKeepAliveClientMixi ), tickFormatterSpec: charts.BasicNumericTickFormatterSpec((v) { // localize and hide 0 - return (v == null || v == 0) ? '' : measureFormat.format(v); + return (v == null || v == 0) ? '' : tickFormatter.format(v); }), ), defaultRenderer: charts.LineRendererConfig( @@ -304,8 +304,7 @@ class _HistogramState extends State with AutomaticKeepAliveClientMixi } Widget _buildSelectionRow() { - final locale = context.l10n.localeName; - final numberFormat = NumberFormat.decimalPattern(locale); + final countFormatter = NumberFormat.decimalPattern(context.locale); return ValueListenableBuilder<_EntryByDate?>( valueListenable: _selection, @@ -326,7 +325,7 @@ class _HistogramState extends State with AutomaticKeepAliveClientMixi ), const Spacer(), Text( - numberFormat.format(count), + countFormatter.format(count), style: TextStyle( color: Theme.of(context).colorScheme.onSurfaceVariant, ), diff --git a/lib/widgets/stats/filter_table.dart b/lib/widgets/stats/filter_table.dart index 7e0673940..a450fa1fb 100644 --- a/lib/widgets/stats/filter_table.dart +++ b/lib/widgets/stats/filter_table.dart @@ -35,8 +35,7 @@ class FilterTable extends StatelessWidget { @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; - final numberFormat = NumberFormat.decimalPattern(locale); + final countFormatter = NumberFormat.decimalPattern(context.locale); final animate = context.select((v) => v.accessibilityAnimations.animate); final sortedEntries = entryCountMap.entries.toList(); @@ -104,7 +103,7 @@ class FilterTable extends StatelessWidget { }, ), Text( - numberFormat.format(count), + countFormatter.format(count), style: TextStyle( color: colorScheme.onSurfaceVariant, ), diff --git a/lib/widgets/stats/mime_donut.dart b/lib/widgets/stats/mime_donut.dart index 4e0fdc4a5..83a173fda 100644 --- a/lib/widgets/stats/mime_donut.dart +++ b/lib/widgets/stats/mime_donut.dart @@ -24,8 +24,7 @@ class MimeDonut extends StatelessWidget { @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; - final numberFormat = NumberFormat.decimalPattern(locale); + final countFormatter = NumberFormat.decimalPattern(context.locale); String formatKey(d) => MimeUtils.displayType(d.key); return AvesDonut( @@ -33,7 +32,7 @@ class MimeDonut extends StatelessWidget { byTypes: byMimeTypes, animationDuration: animationDuration, formatKey: formatKey, - formatValue: numberFormat.format, + formatValue: countFormatter.format, colorize: (context, d) { final colors = context.read(); return colors.fromString(formatKey(d)); diff --git a/lib/widgets/stats/percent_text.dart b/lib/widgets/stats/percent_text.dart index 7bc62038c..ed7247bc4 100644 --- a/lib/widgets/stats/percent_text.dart +++ b/lib/widgets/stats/percent_text.dart @@ -16,13 +16,12 @@ class LinearPercentIndicatorText extends StatelessWidget { @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; - final percentFormat = NumberFormat.percentPattern(locale); + final percentFormatter = NumberFormat.percentPattern(context.locale); return OutlinedText( textSpans: [ TextSpan( - text: percentFormat.format(percent), + text: percentFormatter.format(percent), style: TextStyle( shadows: Theme.of(context).isDark ? AStyles.embossShadows : null, ), diff --git a/lib/widgets/stats/stats_page.dart b/lib/widgets/stats/stats_page.dart index 07d6596cd..3bfaa0e85 100644 --- a/lib/widgets/stats/stats_page.dart +++ b/lib/widgets/stats/stats_page.dart @@ -168,7 +168,7 @@ class _StatsPageState extends State with FeedbackMixin, VaultAwareMix const Icon(AIcons.size), const SizedBox(width: 16), Expanded( - child: Text(formatFileSize(l10n.localeName, _totalSizeBytes)), + child: Text(formatFileSize(context.locale, _totalSizeBytes)), ), ], ), diff --git a/lib/widgets/viewer/info/basic_section.dart b/lib/widgets/viewer/info/basic_section.dart index 123891051..42080956b 100644 --- a/lib/widgets/viewer/info/basic_section.dart +++ b/lib/widgets/viewer/info/basic_section.dart @@ -299,7 +299,7 @@ class _BasicInfoState extends State<_BasicInfo> { Widget build(BuildContext context) { final l10n = context.l10n; final infoUnknown = l10n.viewerInfoUnknown; - final locale = l10n.localeName; + final locale = context.locale; final use24hour = MediaQuery.alwaysUse24HourFormatOf(context); // TODO TLAD line break on all characters for the following fields when this is fixed: https://github.com/flutter/flutter/issues/61081 @@ -383,10 +383,9 @@ class _BasicInfoState extends State<_BasicInfo> { // guess whether this is a photo, according to file type final isPhoto = [MimeTypes.heic, MimeTypes.heif, MimeTypes.jpeg, MimeTypes.tiff].contains(entry.mimeType) || entry.isRaw; if (isPhoto) { - final numberFormat = NumberFormat('0', locale); final megaPixels = (entry.width * entry.height / 1000000).round(); if (megaPixels > 0) { - s += ' • ${numberFormat.format(megaPixels)} MP'; + s += ' • ${NumberFormat('0', locale).format(megaPixels)} MP'; } } diff --git a/lib/widgets/viewer/overlay/details/date.dart b/lib/widgets/viewer/overlay/details/date.dart index af2425fc5..7c762f028 100644 --- a/lib/widgets/viewer/overlay/details/date.dart +++ b/lib/widgets/viewer/overlay/details/date.dart @@ -21,7 +21,7 @@ class OverlayDateRow extends StatelessWidget { @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; + final locale = context.locale; final use24hour = MediaQuery.alwaysUse24HourFormatOf(context); final date = entry.bestDate; diff --git a/lib/widgets/viewer/overlay/details/shooting.dart b/lib/widgets/viewer/overlay/details/shooting.dart index 94ea6f260..770d04e9c 100644 --- a/lib/widgets/viewer/overlay/details/shooting.dart +++ b/lib/widgets/viewer/overlay/details/shooting.dart @@ -17,7 +17,7 @@ class OverlayShootingRow extends StatelessWidget { @override Widget build(BuildContext context) { - final locale = context.l10n.localeName; + final locale = context.locale; final aperture = details.aperture; final apertureText = aperture != null ? 'ƒ/${NumberFormat('0.0', locale).format(aperture)}' : AText.valueNotAvailable; diff --git a/plugins/aves_map/lib/src/marker/image.dart b/plugins/aves_map/lib/src/marker/image.dart index 8ead5d7a2..7b776e0d9 100644 --- a/plugins/aves_map/lib/src/marker/image.dart +++ b/plugins/aves_map/lib/src/marker/image.dart @@ -9,7 +9,7 @@ import 'package:latlong2/latlong.dart'; class ImageMarker extends StatelessWidget { final int? count; - final intl.NumberFormat numberFormat; + final intl.NumberFormat countFormatter; final bool drawArrow; final Widget Function(double extent) buildThumbnailImage; @@ -28,7 +28,7 @@ class ImageMarker extends StatelessWidget { required String locale, this.drawArrow = true, required this.buildThumbnailImage, - }) : numberFormat = intl.NumberFormat.decimalPattern(locale); + }) : countFormatter = intl.NumberFormat.decimalPattern(locale); @override Widget build(BuildContext context) { @@ -110,7 +110,7 @@ class ImageMarker extends StatelessWidget { ), ), child: Text( - numberFormat.format(count), + countFormatter.format(count), style: TextStyle( fontSize: 12, color: theme.colorScheme.onPrimary, From 1717b1fc900e6ca61a033c42350f43a9ceb1f557 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 20 May 2024 15:23:57 +0200 Subject: [PATCH 11/34] l10n test --- lib/l10n/app_en.arb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 2a48663c3..435c79e04 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -3,7 +3,7 @@ "welcomeMessage": "Welcome to Aves", "welcomeOptional": "Optional", "welcomeTermsToggle": "I agree to the terms and conditions", - "itemCount": "{count, plural, =1{1 item} other{{count} items}}", + "itemCount": "{count, plural, =1{{count} item} other{{count} items}}", "@itemCount": { "placeholders": { "count": { From 7b761a1f41979b069d561c18e2f6b598c728a0e4 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Mon, 20 May 2024 15:52:30 +0200 Subject: [PATCH 12/34] l10n by weblate (#1017) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translate-URL: https://hosted.weblate.org/projects/aves/app-android/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/be/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ca/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ckb/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/gl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/is/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/lt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ru/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/vi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/store-full-description/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/store-short-description/ko/ Translation: Aves/App - Android Translation: Aves/App - Main Translation: Aves/Store - Full description Translation: Aves/Store - Short description Co-authored-by: Aitor Salaberria Co-authored-by: Alireza Rashidi Co-authored-by: Evgeniy Khramov <65224669+thejenja@users.noreply.github.com> Co-authored-by: Fqwe1 Co-authored-by: ID J Co-authored-by: Igor Sorocean Co-authored-by: JY3 Co-authored-by: Linerly Co-authored-by: Maxi Co-authored-by: Mohamed Zeroug Co-authored-by: Owen Elderbroek Co-authored-by: Oğuz Ersen Co-authored-by: Sveinn í Felli Co-authored-by: Thibault Deckers Co-authored-by: cheese Co-authored-by: fuzfyy Co-authored-by: gallegonovato Co-authored-by: glemco Co-authored-by: marciozomb13 Co-authored-by: ngocanhtve Co-authored-by: randint Co-authored-by: rehork Co-authored-by: vesp Co-authored-by: wanzh Co-authored-by: wickdj Co-authored-by: yangyangdaji <1504305527@qq.com> Co-authored-by: Макар Разин Co-authored-by: 何意挽秋風 <94283631+RejectVanity@users.noreply.github.com> --- lib/l10n/app_ar.arb | 2 +- lib/l10n/app_be.arb | 2 +- lib/l10n/app_ca.arb | 2 +- lib/l10n/app_ckb.arb | 2 +- lib/l10n/app_cs.arb | 2 +- lib/l10n/app_de.arb | 16 ++++++++++++++-- lib/l10n/app_el.arb | 2 +- lib/l10n/app_es.arb | 2 +- lib/l10n/app_eu.arb | 2 +- lib/l10n/app_fa.arb | 2 +- lib/l10n/app_fi.arb | 2 +- lib/l10n/app_fr.arb | 2 +- lib/l10n/app_gl.arb | 2 +- lib/l10n/app_hi.arb | 2 +- lib/l10n/app_is.arb | 2 +- lib/l10n/app_it.arb | 2 +- lib/l10n/app_lt.arb | 2 +- lib/l10n/app_nb.arb | 2 +- lib/l10n/app_nl.arb | 2 +- lib/l10n/app_nn.arb | 2 +- lib/l10n/app_pl.arb | 2 +- lib/l10n/app_pt.arb | 2 +- lib/l10n/app_ro.arb | 2 +- lib/l10n/app_ru.arb | 2 +- lib/l10n/app_sk.arb | 2 +- lib/l10n/app_tr.arb | 2 +- lib/l10n/app_uk.arb | 2 +- lib/l10n/app_vi.arb | 2 +- lib/l10n/app_zh.arb | 2 +- 29 files changed, 42 insertions(+), 30 deletions(-) diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 5774273ee..02a5d9e97 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -941,7 +941,7 @@ "@albumMimeTypeMixed": {}, "settingsViewerQuickActionEditorAvailableButtonsSectionTitle": "الأزرار المتاحة", "@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {}, - "itemCount": "{count, plural, =1{1 عنصر} other{{count} عناصر}}", + "itemCount": "{count, plural, =1{{count} عنصر} other{{count} عناصر}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_be.arb b/lib/l10n/app_be.arb index 19fb1cc6f..73fc4388d 100644 --- a/lib/l10n/app_be.arb +++ b/lib/l10n/app_be.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeMessage": "Сардэчна запрашаем ў Aves", "@welcomeMessage": {}, - "itemCount": "{count, plural, =1{1 элемент} other{{count} элементаў}}", + "itemCount": "{count, plural, =1{{count} элемент} other{{count} элементаў}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_ca.arb b/lib/l10n/app_ca.arb index e34d3a686..311d3b991 100644 --- a/lib/l10n/app_ca.arb +++ b/lib/l10n/app_ca.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Estic d’acord amb els termes i condicions", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 element} other{{count} elements}}", + "itemCount": "{count, plural, =1{{count} element} other{{count} elements}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_ckb.arb b/lib/l10n/app_ckb.arb index 668de373a..1be0fe47c 100644 --- a/lib/l10n/app_ckb.arb +++ b/lib/l10n/app_ckb.arb @@ -131,7 +131,7 @@ "@videoActionPause": {}, "videoActionPlay": "لێدان", "@videoActionPlay": {}, - "itemCount": "{count, plural, =1{١ دانە} other{دانە {count}}}", + "itemCount": "{count, plural, other{دانە {count}}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index 42d9c2f31..a8cda536c 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -50,7 +50,7 @@ "days": {} } }, - "itemCount": "{count, plural, =1{1 položka} few{{count} položky} other{{count} položek}}", + "itemCount": "{count, plural, =1{{count} položka} few{{count} položky} other{{count} položek}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 2adf015db..e2b7da8d7 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Ich stimme den Bedingungen und Konditionen zu", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 Element} other{{count} Elemente}}", + "itemCount": "{count, plural, =1{{count} Element} other{{count} Elemente}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 Sekunde} other{{seconds} Sekunde}}", "@timeSeconds": {}, @@ -1366,5 +1366,17 @@ "entryActionCast": "Übertragen", "@entryActionCast": {}, "castDialogTitle": "Geräte zur Übertragung", - "@castDialogTitle": {} + "@castDialogTitle": {}, + "renameProcessorHash": "Raute", + "@renameProcessorHash": {}, + "settingsForceWesternArabicNumeralsTile": "Arabische Ziffern erzwingen", + "@settingsForceWesternArabicNumeralsTile": {}, + "videoActionABRepeat": "A-B-Wiederholung", + "@videoActionABRepeat": {}, + "videoRepeatActionSetStart": "Start festlegen", + "@videoRepeatActionSetStart": {}, + "stopTooltip": "Stop", + "@stopTooltip": {}, + "videoRepeatActionSetEnd": "Ende festlegen", + "@videoRepeatActionSetEnd": {} } diff --git a/lib/l10n/app_el.arb b/lib/l10n/app_el.arb index 26e285185..3b4b628f5 100644 --- a/lib/l10n/app_el.arb +++ b/lib/l10n/app_el.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Συμφωνώ με τους όρους και τις προυποθέσεις", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 στοιχείο} other{{count} στοιχεία}}", + "itemCount": "{count, plural, =1{{count} στοιχείο} other{{count} στοιχεία}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 δευτερόλεπτο} other{{seconds} δευτερόλεπτα}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 249ee65da..5962ecf71 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Acepto los términos y condiciones", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 elemento} other{{count} elementos}}", + "itemCount": "{count, plural, =1{{count} elemento} other{{count} elementos}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 segundo} other{{seconds} segundos}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index ac714af6b..614229f67 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -50,7 +50,7 @@ "@welcomeMessage": {}, "welcomeOptional": "Aukerazkoa", "@welcomeOptional": {}, - "itemCount": "{count, plural, =1{elementu 1} other{{count} elementu}}", + "itemCount": "{count, plural, =1{elementu {count}} other{{count} elementu}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 5bf72689a..18d307788 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -75,7 +75,7 @@ }, "deleteButtonLabel": "پاک کردن", "@deleteButtonLabel": {}, - "itemCount": "{count, plural, =1{1 فایل} other{{count} فایل}}", + "itemCount": "{count, plural, =1{{count} فایل} other{{count} فایل}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_fi.arb b/lib/l10n/app_fi.arb index ca50038ca..bd2ed3837 100644 --- a/lib/l10n/app_fi.arb +++ b/lib/l10n/app_fi.arb @@ -149,7 +149,7 @@ "@maxBrightnessNever": {}, "videoActionReplay10": "kelaa taaksepäin 10 sekuntia", "@videoActionReplay10": {}, - "itemCount": "{count, plural, =1{1 kohde} other{{count} kohdetta}}", + "itemCount": "{count, plural, =1{{count} kohde} other{{count} kohdetta}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 3dc8fece3..0e6195213 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "J’accepte les conditions d’utilisation", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 élément} other{{count} éléments}}", + "itemCount": "{count, plural, =1{{count} élément} other{{count} éléments}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =0{0 seconde} =1{1 seconde} other{{seconds} secondes}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_gl.arb b/lib/l10n/app_gl.arb index 814720b1a..06e3ed278 100644 --- a/lib/l10n/app_gl.arb +++ b/lib/l10n/app_gl.arb @@ -177,7 +177,7 @@ "@appName": {}, "welcomeMessage": "Benvido a Aves", "@welcomeMessage": {}, - "itemCount": "{count, plural, =1{1 elementos} other{{count} elementos}}", + "itemCount": "{count, plural, =1{{count} elementos} other{{count} elementos}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_hi.arb b/lib/l10n/app_hi.arb index 6e72e81ab..f3e8f06ab 100644 --- a/lib/l10n/app_hi.arb +++ b/lib/l10n/app_hi.arb @@ -35,7 +35,7 @@ "@clearTooltip": {}, "actionRemove": "हटाएं", "@actionRemove": {}, - "itemCount": "{count, plural, =1{१ चीज} other{{count} चीजे}}", + "itemCount": "{count, plural, =1{{count} चीज} other{{count} चीजे}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_is.arb b/lib/l10n/app_is.arb index 15ece4e21..05c603ad5 100644 --- a/lib/l10n/app_is.arb +++ b/lib/l10n/app_is.arb @@ -840,7 +840,7 @@ "@albumMimeTypeMixed": {}, "settingsViewerQuickActionEditorAvailableButtonsSectionTitle": "Tiltækir hnappar", "@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {}, - "itemCount": "{count, plural, =1{1 atriði} other{{count} atriðum}}", + "itemCount": "{count, plural, =1{{count} atriði} other{{count} atriðum}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 7157352ab..810d8319e 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Accetto i termini e le condizioni", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 elemento} other{{count} elementi}}", + "itemCount": "{count, plural, =1{{count} elemento} other{{count} elementi}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 secondo} other{{seconds} secondi}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_lt.arb b/lib/l10n/app_lt.arb index 05a009605..e0b837f47 100644 --- a/lib/l10n/app_lt.arb +++ b/lib/l10n/app_lt.arb @@ -285,7 +285,7 @@ "@collectionActionEdit": {}, "welcomeMessage": "Sveiki atvykę į Aves", "@welcomeMessage": {}, - "itemCount": "{count, plural, =1{1 elementas} few{{count} elementai} other{{count} elementų}}", + "itemCount": "{count, plural, =1{{count} elementas} few{{count} elementai} other{{count} elementų}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_nb.arb b/lib/l10n/app_nb.arb index 81eac5dc0..5346b287e 100644 --- a/lib/l10n/app_nb.arb +++ b/lib/l10n/app_nb.arb @@ -763,7 +763,7 @@ "days": {} } }, - "itemCount": "{count, plural, =1{1 element} other{{count} elementer}}", + "itemCount": "{count, plural, =1{{count} element} other{{count} elementer}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 10814804f..0eb3389a8 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Ik ga akkoord met de voorwaarden", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 item} other{{count} items}}", + "itemCount": "{count, plural, =1{{count} item} other{{count} items}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 seconde} other{{seconds} seconden}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_nn.arb b/lib/l10n/app_nn.arb index 8a8db7aa4..f1e1d7897 100644 --- a/lib/l10n/app_nn.arb +++ b/lib/l10n/app_nn.arb @@ -9,7 +9,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Eg samtykkjer til krava og føresetnadane", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 er vald} other{{count} er valde}}", + "itemCount": "{count, plural, =1{{count} er vald} other{{count} er valde}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 1f898ac01..2208df050 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -233,7 +233,7 @@ "@displayRefreshRatePreferLowest": {}, "videoPlaybackMuted": "Odtwarzaj bez dźwięku", "@videoPlaybackMuted": {}, - "itemCount": "{count, plural, =1{1 element} few{{count} elementy} other{{count} elelmentów}}", + "itemCount": "{count, plural, =1{{count} element} few{{count} elementy} other{{count} elelmentów}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 4196bcce1..29c923b52 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Eu concordo com os Termos e Condições", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 item} other{{count} itens}}", + "itemCount": "{count, plural, =1{{count} item} other{{count} itens}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 segundo} other{{seconds} segundos}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 0c70221a9..028cf6024 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -648,7 +648,7 @@ }, "appName": "Aves", "@appName": {}, - "itemCount": "{count, plural, =1{1 element} other{{count} elemente}}", + "itemCount": "{count, plural, =1{{count} element} other{{count} elemente}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 25e3f10f4..0b142f030 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Я согласен с условиями и положениями", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 объект} few{{count} объекта} other{{count} объектов}}", + "itemCount": "{count, plural, =1{{count} объект} few{{count} объекта} other{{count} объектов}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 секунда} few{{seconds} секунды} other{{seconds} секунд}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index eda652986..37bc0a54b 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -638,7 +638,7 @@ "@filePickerOpenFrom": {}, "filePickerUseThisFolder": "Použiť tento priečinok", "@filePickerUseThisFolder": {}, - "itemCount": "{count, plural, =1{1 položka} other{{count} položiek}}", + "itemCount": "{count, plural, =1{{count} položka} other{{count} položiek}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index 5a6e9e6b3..9651dc743 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Hüküm ve koşulları kabul ediyorum", "@welcomeTermsToggle": {}, - "itemCount": "{count, plural, =1{1 öğe} other{{count} öğe}}", + "itemCount": "{count, plural, other{{count} öğe}}", "@itemCount": {}, "timeSeconds": "{seconds, plural, =1{1 saniye} other{{seconds} saniye}}", "@timeSeconds": {}, diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 7a6235178..38e008ff3 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -637,7 +637,7 @@ "@entryActionShareVideoOnly": {}, "continueButtonLabel": "ПРОДОВЖИТИ", "@continueButtonLabel": {}, - "itemCount": "{count, plural, =1{1 елемент} few{{count} елементи} other{{count} елементів}}", + "itemCount": "{count, plural, =1{{count} елемент} few{{count} елементи} other{{count} елементів}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_vi.arb b/lib/l10n/app_vi.arb index a79f07b43..2bcde374c 100644 --- a/lib/l10n/app_vi.arb +++ b/lib/l10n/app_vi.arb @@ -1007,7 +1007,7 @@ "@albumMimeTypeMixed": {}, "settingsViewerQuickActionEditorAvailableButtonsSectionTitle": "Các nút có sẵn", "@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {}, - "itemCount": "{count, plural, =1{1 mục} other{{count} mục}}", + "itemCount": "{count, plural, other{{count} mục}}", "@itemCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 7630a3e57..f2b322f1c 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -1377,6 +1377,6 @@ "@videoRepeatActionSetEnd": {}, "renameProcessorHash": "哈希", "@renameProcessorHash": {}, - "settingsForceWesternArabicNumeralsTile": "强制阿拉伯数数字", + "settingsForceWesternArabicNumeralsTile": "强制使用阿拉伯数字", "@settingsForceWesternArabicNumeralsTile": {} } From 5e452bbd4db5d25040cc120d0930a2f87583d931 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 20 May 2024 15:58:27 +0200 Subject: [PATCH 13/34] l10n --- lib/model/app/contributors.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/model/app/contributors.dart b/lib/model/app/contributors.dart index efc7ea1e4..5614d2139 100644 --- a/lib/model/app/contributors.dart +++ b/lib/model/app/contributors.dart @@ -90,6 +90,7 @@ class Contributors { Contributor('何意挽秋風', '94283631+RejectVanity@users.noreply.github.com'), Contributor('cheese', 'deanlemans5646@gmail.com'), Contributor('Owen Elderbroek', 'o.elderbroek@gmail.com'), + Contributor('Maxi', 'maxitendo01@proton.me'), // Contributor('Alvi Khan', 'aveenalvi@gmail.com'), // Bengali // Contributor('Htet Oo Hlaing', 'htetoh2006@outlook.com'), // Burmese // Contributor('Khant', 'khant@users.noreply.hosted.weblate.org'), // Burmese From 88decb71a232503e9466786bce80bb9102f40566 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 20 May 2024 16:03:07 +0200 Subject: [PATCH 14/34] l10n --- lib/l10n/app_en.arb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 435c79e04..e34912ec1 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -11,7 +11,7 @@ } } }, - "columnCount": "{count, plural, =1{1 column} other{{count} columns}}", + "columnCount": "{count, plural, =1{{count} column} other{{count} columns}}", "@columnCount": { "placeholders": { "count": { @@ -20,26 +20,26 @@ } }, - "timeSeconds": "{seconds, plural, =1{1 second} other{{seconds} seconds}}", + "timeSeconds": "{count, plural, =1{{count} second} other{{count} seconds}}", "@timeSeconds": { "placeholders": { - "seconds": { + "count": { "format": "decimalPattern" } } }, - "timeMinutes": "{minutes, plural, =1{1 minute} other{{minutes} minutes}}", + "timeMinutes": "{count, plural, =1{{count} minute} other{{count} minutes}}", "@timeMinutes": { "placeholders": { - "minutes": { + "count": { "format": "decimalPattern" } } }, - "timeDays": "{days, plural, =1{1 day} other{{days} days}}", + "timeDays": "{count, plural, =1{{count} day} other{{count} days}}", "@timeDays": { "placeholders": { - "days": { + "count": { "format": "decimalPattern" } } From b4af217d438b5ac6bcbfce4619d3a2a5c7aac416 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Mon, 20 May 2024 17:25:10 +0200 Subject: [PATCH 15/34] l10n by weblate (#1029) Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ar/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/be/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ca/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ckb/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/cs/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/de/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/el/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/es/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/eu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fa/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/fr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/gl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/hu/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/id/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/is/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/it/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ja/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ko/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/lt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/my/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/nn/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pl/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/pt/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ro/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/ru/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/sv/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/tr/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/uk/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/vi/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/aves/app-main/zh_Hant/ Translation: Aves/App - Main Co-authored-by: Thibault Deckers Co-authored-by: gallegonovato --- lib/l10n/app_ar.arb | 8 ++++---- lib/l10n/app_be.arb | 8 ++++---- lib/l10n/app_ca.arb | 8 ++++---- lib/l10n/app_ckb.arb | 8 ++++---- lib/l10n/app_cs.arb | 8 ++++---- lib/l10n/app_de.arb | 8 ++++---- lib/l10n/app_el.arb | 8 ++++---- lib/l10n/app_es.arb | 8 ++++---- lib/l10n/app_eu.arb | 8 ++++---- lib/l10n/app_fa.arb | 8 ++++---- lib/l10n/app_fi.arb | 8 ++++---- lib/l10n/app_fr.arb | 8 ++++---- lib/l10n/app_gl.arb | 6 +++--- lib/l10n/app_hi.arb | 8 ++++---- lib/l10n/app_hu.arb | 6 +++--- lib/l10n/app_id.arb | 6 +++--- lib/l10n/app_is.arb | 8 ++++---- lib/l10n/app_it.arb | 8 ++++---- lib/l10n/app_ja.arb | 6 +++--- lib/l10n/app_ko.arb | 6 +++--- lib/l10n/app_lt.arb | 6 +++--- lib/l10n/app_my.arb | 6 +++--- lib/l10n/app_nb.arb | 8 ++++---- lib/l10n/app_nl.arb | 6 +++--- lib/l10n/app_nn.arb | 8 ++++---- lib/l10n/app_pl.arb | 8 ++++---- lib/l10n/app_pt.arb | 8 ++++---- lib/l10n/app_ro.arb | 8 ++++---- lib/l10n/app_ru.arb | 8 ++++---- lib/l10n/app_sk.arb | 8 ++++---- lib/l10n/app_sv.arb | 8 ++++---- lib/l10n/app_tr.arb | 6 +++--- lib/l10n/app_uk.arb | 8 ++++---- lib/l10n/app_vi.arb | 8 ++++---- lib/l10n/app_zh.arb | 6 +++--- lib/l10n/app_zh_Hant.arb | 8 ++++---- 36 files changed, 134 insertions(+), 134 deletions(-) diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 02a5d9e97..85d981ad4 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -887,7 +887,7 @@ "@placePageTitle": {}, "filterOnThisDayLabel": "في هذا اليوم", "@filterOnThisDayLabel": {}, - "columnCount": "{count, plural, =1{1 عمود} other{{count} أعمدة}}{count}", + "columnCount": "{count, plural, =1{{count} عمود} other{{count} أعمدة}}{count}", "@columnCount": { "placeholders": { "count": {} @@ -1247,7 +1247,7 @@ "@drawerCollectionImages": {}, "sortOrderSmallestFirst": "الأصغر أولاً", "@sortOrderSmallestFirst": {}, - "timeSeconds": "{seconds, plural, =1{1 ثانية} other{{seconds} ثواني}}", + "timeSeconds": "{count, plural, =1{{count} ثانية} other{{count} ثواني}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -1393,7 +1393,7 @@ "@subtitlePositionBottom": {}, "castDialogTitle": "أجهزة البث", "@castDialogTitle": {}, - "timeDays": "{days, plural, =1{1 يوم} other{{days} أيام}}", + "timeDays": "{count, plural, =1{{count} يوم} other{{count} أيام}}", "@timeDays": { "placeholders": { "days": {} @@ -1425,7 +1425,7 @@ "@newVaultDialogTitle": {}, "entryInfoActionEditRating": "تحرير التقييم", "@entryInfoActionEditRating": {}, - "timeMinutes": "{minutes, plural, =1{1 دقيقة} other{{minutes} دقائق}}", + "timeMinutes": "{count, plural, =1{{count} دقيقة} other{{count} دقائق}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_be.arb b/lib/l10n/app_be.arb index 73fc4388d..546b178b9 100644 --- a/lib/l10n/app_be.arb +++ b/lib/l10n/app_be.arb @@ -1495,25 +1495,25 @@ "@settingsViewerShowHistogram": {}, "settingsVideoPlaybackTile": "Прайграванне", "@settingsVideoPlaybackTile": {}, - "columnCount": "{count, plural, =1{1 слупок} few{{count} слупкі} other{{count} слупкоў}}", + "columnCount": "{count, plural, =1{{count} слупок} few{{count} слупкі} other{{count} слупкоў}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 секунда} few{{seconds} секунды} other{{seconds} секунд}}", + "timeSeconds": "{count, plural, =1{{count} секунда} few{{count} секунды} other{{count} секунд}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeDays": "{days, plural, =1{1 дзень} few{{days} дні} other{{days} дзён}}", + "timeDays": "{count, plural, =1{{count} дзень} few{{count} дні} other{{count} дзён}}", "@timeDays": { "placeholders": { "days": {} } }, - "timeMinutes": "{minutes, plural, =1{1 хвіліна} few{{minutes} хвіліны} other{{minutes} хвілін}}", + "timeMinutes": "{count, plural, =1{{count} хвіліна} few{{count} хвіліны} other{{count} хвілін}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_ca.arb b/lib/l10n/app_ca.arb index 311d3b991..6996d5f4d 100644 --- a/lib/l10n/app_ca.arb +++ b/lib/l10n/app_ca.arb @@ -13,7 +13,7 @@ "count": {} } }, - "columnCount": "{count, plural, =1{1 columna} other{{count} columnes}}", + "columnCount": "{count, plural, =1{{count} columna} other{{count} columnes}}", "@columnCount": { "placeholders": { "count": {} @@ -479,19 +479,19 @@ "@policyPageTitle": {}, "collectionPageTitle": "Coŀlecció", "@collectionPageTitle": {}, - "timeSeconds": "{seconds, plural, =1{1 segon} other{{seconds} segons}}", + "timeSeconds": "{count, plural, =1{{count} segon} other{{count} segons}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{1 minut} other{{minutes} minuts}}", + "timeMinutes": "{count, plural, =1{{count} minut} other{{count} minuts}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 dia} other{{days} dies}}", + "timeDays": "{count, plural, =1{{count} dia} other{{count} dies}}", "@timeDays": { "placeholders": { "days": {} diff --git a/lib/l10n/app_ckb.arb b/lib/l10n/app_ckb.arb index 1be0fe47c..5ffd61aa5 100644 --- a/lib/l10n/app_ckb.arb +++ b/lib/l10n/app_ckb.arb @@ -4,13 +4,13 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "ڕازیم بە مەرج و یاساکانی بەکارهێنان", "@welcomeTermsToggle": {}, - "columnCount": "{count, plural, =1{١ ڕیز} other{ڕیز {count}}}", + "columnCount": "{count, plural, other{ڕیز {count}}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{١ چرکە} other{چرکە {seconds}}}", + "timeSeconds": "{count, plural, other{چرکە {count}}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -92,7 +92,7 @@ "@entryActionInfo": {}, "entryActionRestore": "گێڕانەوە", "@entryActionRestore": {}, - "timeDays": "{days, plural, =1{١ ڕۆژ} other{ڕۆژ {days}}}", + "timeDays": "{count, plural, other{ڕۆژ {count}}}", "@timeDays": { "placeholders": { "days": {} @@ -155,7 +155,7 @@ "@chipActionCreateAlbum": {}, "entryActionRename": "ناوگۆڕین", "@entryActionRename": {}, - "timeMinutes": "{minutes, plural, =1{١ خولەک} other{خولەک {minutes}}}", + "timeMinutes": "{count, plural, other{خولەک {count}}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index a8cda536c..486f87a17 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -44,7 +44,7 @@ } } }, - "timeDays": "{days, plural, =1{1 den} few{{days} dny} other{{days} dnů}}", + "timeDays": "{count, plural, =1{{count} den} few{{count} dny} other{{count} dnů}}", "@timeDays": { "placeholders": { "days": {} @@ -56,7 +56,7 @@ "count": {} } }, - "columnCount": "{count, plural, =1{1 sloupec} few{{count} sloupce} other{{count} sloupců}}", + "columnCount": "{count, plural, =1{{count} sloupec} few{{count} sloupce} other{{count} sloupců}}", "@columnCount": { "placeholders": { "count": {} @@ -1279,13 +1279,13 @@ "@settingsThumbnailShowVideoDuration": {}, "settingsCollectionQuickActionsTile": "Rychlé akce", "@settingsCollectionQuickActionsTile": {}, - "timeMinutes": "{minutes, plural, =1{1 minuta} few{{minutes} minuty} other{{minutes} minut}}", + "timeMinutes": "{count, plural, =1{{count} minuta} few{{count} minuty} other{{count} minut}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeSeconds": "{seconds, plural, =1{1 sekunda} few{{seconds} sekundy} other{{seconds} sekund}}", + "timeSeconds": "{count, plural, =1{{count} sekunda} few{{count} sekundy} other{{count} sekund}}", "@timeSeconds": { "placeholders": { "seconds": {} diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index e2b7da8d7..dae6b96f3 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} Element} other{{count} Elemente}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 Sekunde} other{{seconds} Sekunde}}", + "timeSeconds": "{count, plural, =1{{count} Sekunde} other{{count} Sekunde}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 Minute} other{{minutes} Minuten}}", + "timeMinutes": "{count, plural, =1{{count} Minute} other{{count} Minuten}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 Tag} other{{days} Tage}}", + "timeDays": "{count, plural, =1{{count} Tag} other{{count} Tage}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, @@ -1193,7 +1193,7 @@ "@settingsAccessibilityShowPinchGestureAlternatives": {}, "settingsDisplayUseTvInterface": "Android-TV Oberfläche", "@settingsDisplayUseTvInterface": {}, - "columnCount": "{count, plural, =1{1 Spalte} other{{count} Spalten}}", + "columnCount": "{count, plural, =1{{count} Spalte} other{{count} Spalten}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_el.arb b/lib/l10n/app_el.arb index 3b4b628f5..9a6582e53 100644 --- a/lib/l10n/app_el.arb +++ b/lib/l10n/app_el.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} στοιχείο} other{{count} στοιχεία}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 δευτερόλεπτο} other{{seconds} δευτερόλεπτα}}", + "timeSeconds": "{count, plural, =1{{count} δευτερόλεπτο} other{{count} δευτερόλεπτα}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 λεπτό} other{{minutes} λεπτά}}", + "timeMinutes": "{count, plural, =1{{count} λεπτό} other{{count} λεπτά}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 ημέρα} other{{days} ημέρες}}", + "timeDays": "{count, plural, =1{{count} ημέρα} other{{count} ημέρες}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, @@ -1169,7 +1169,7 @@ "@settingsSubtitleThemeTextPositionDialogTitle": {}, "entryInfoActionExportMetadata": "Εξαγωγή μεταδεδομένων", "@entryInfoActionExportMetadata": {}, - "columnCount": "{count, plural, =1{1 στήλη} other{{count} στήλες}}", + "columnCount": "{count, plural, =1{{count} στήλη} other{{count} στήλες}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 5962ecf71..07ac2905a 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} elemento} other{{count} elementos}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 segundo} other{{seconds} segundos}}", + "timeSeconds": "{count, plural, =1{{count} segundo} other{{count} segundos}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 minuto} other{{minutes} minutos}}", + "timeMinutes": "{count, plural, =1{{count} minuto} other{{count} minutos}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 día} other{{days} días}}", + "timeDays": "{count, plural, =1{{count} día} other{{count} días}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, @@ -1187,7 +1187,7 @@ "@keepScreenOnVideoPlayback": {}, "settingsAccessibilityShowPinchGestureAlternatives": "Mostrar alternativas a gestos multitáctiles", "@settingsAccessibilityShowPinchGestureAlternatives": {}, - "columnCount": "{count, plural, =1{1 columna} other{{count} columnas}}", + "columnCount": "{count, plural, =1{{count} columna} other{{count} columnas}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 614229f67..5e6e43957 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -1,25 +1,25 @@ { "saveTooltip": "Gorde", "@saveTooltip": {}, - "columnCount": "{count, plural, =1{zutabe 1} other{{count} zutabe}}", + "columnCount": "{count, plural, =1{zutabe {count}} other{{count} zutabe}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{segundu 1} other{{seconds} segundu}}", + "timeSeconds": "{count, plural, =1{segundu {count}} other{{count} segundu}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{minutu 1} other{{minutes} minutu}}", + "timeMinutes": "{count, plural, =1{minutu {count}} other{{count} minutu}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{egun 1} other{{days} egun}}", + "timeDays": "{count, plural, =1{egun {count}} other{{count} egun}}", "@timeDays": { "placeholders": { "days": {} diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 18d307788..c4fefe00e 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -67,7 +67,7 @@ "@chipActionCreateAlbum": {}, "filterNoRatingLabel": "بدون امتیاز", "@filterNoRatingLabel": {}, - "timeSeconds": "{seconds, plural, =1{1 ثانیع} other{{seconds} ثانیه}}", + "timeSeconds": "{count, plural, =1{{count} ثانیع} other{{count} ثانیه}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -99,7 +99,7 @@ "@doNotAskAgain": {}, "entryActionDelete": "پاک‌کردن", "@entryActionDelete": {}, - "timeMinutes": "{minutes, plural, =1{1 دقیقه} other{{minutes} دقیقه}}", + "timeMinutes": "{count, plural, other{{count} دقیقه}}", "@timeMinutes": { "placeholders": { "minutes": {} @@ -141,7 +141,7 @@ "@filterBinLabel": {}, "filterNoDateLabel": "بدون تاریخ", "@filterNoDateLabel": {}, - "timeDays": "{days, plural, =1{1 روز} other{{days} روز}}", + "timeDays": "{count, plural, other{{count} روز}}", "@timeDays": { "placeholders": { "days": {} @@ -333,7 +333,7 @@ "@videoPlaybackMuted": {}, "storageVolumeDescriptionFallbackPrimary": "حافظه داخلی", "@storageVolumeDescriptionFallbackPrimary": {}, - "columnCount": "{count, plural, =1{1 ستون} other{{count} ستون}}", + "columnCount": "{count, plural, other{{count} ستون}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_fi.arb b/lib/l10n/app_fi.arb index bd2ed3837..6a17e95a4 100644 --- a/lib/l10n/app_fi.arb +++ b/lib/l10n/app_fi.arb @@ -137,7 +137,7 @@ "@viewerActionSettings": {}, "filterOnThisDayLabel": "Tänä päivänä", "@filterOnThisDayLabel": {}, - "columnCount": "{count, plural, =1{1 sarake} other{{count} saraketta}}", + "columnCount": "{count, plural, =1{{count} sarake} other{{count} saraketta}}", "@columnCount": { "placeholders": { "count": {} @@ -231,7 +231,7 @@ "@keepScreenOnNever": {}, "mapStyleOsmHot": "Humanitaarinen OSM", "@mapStyleOsmHot": {}, - "timeSeconds": "{seconds, plural, =1{1 sekunti} other{{seconds} sekuntia}}", + "timeSeconds": "{count, plural, =1{{count} sekunti} other{{count} sekuntia}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -265,7 +265,7 @@ "@entryActionRotateCW": {}, "entryActionFlip": "Käännä vaakasuorassa", "@entryActionFlip": {}, - "timeDays": "{days, plural, =1{1 Päivä} other{{days} Päivää}}", + "timeDays": "{count, plural, =1{{count} Päivä} other{{count} Päivää}}", "@timeDays": { "placeholders": { "days": {} @@ -279,7 +279,7 @@ "@entryActionEdit": {}, "entryInfoActionEditRating": "Muokkaa luokitusta", "@entryInfoActionEditRating": {}, - "timeMinutes": "{minutes, plural, =1{1 minuutti} other{{minutes} minuuttia}}", + "timeMinutes": "{count, plural, =1{{count} minuutti} other{{count} minuuttia}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 0e6195213..3a839e76f 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} élément} other{{count} éléments}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =0{0 seconde} =1{1 seconde} other{{seconds} secondes}}", + "timeSeconds": "{count, plural, =0{{count} seconde} =1{{count} seconde} other{{count} secondes}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =0{0 minute} =1{1 minute} other{{minutes} minutes}}", + "timeMinutes": "{count, plural, =0{{count} minute} =1{{count} minute} other{{count} minutes}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =0{0 jour} =1{1 jour} other{{days} jours}}", + "timeDays": "{count, plural, =0{{count} jour} =1{{count} jour} other{{count} jours}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, @@ -1185,7 +1185,7 @@ "@entryInfoActionRemoveLocation": {}, "keepScreenOnVideoPlayback": "Pendant la lecture de vidéos", "@keepScreenOnVideoPlayback": {}, - "columnCount": "{count, plural, =1{1 colonne} other{{count} colonnes}}", + "columnCount": "{count, plural, =1{{count} colonne} other{{count} colonnes}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_gl.arb b/lib/l10n/app_gl.arb index 06e3ed278..41eb20070 100644 --- a/lib/l10n/app_gl.arb +++ b/lib/l10n/app_gl.arb @@ -183,19 +183,19 @@ "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 segundo} other{{seconds} segundos}}", + "timeSeconds": "{count, plural, =1{{count} segundo} other{{count} segundos}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{1 minuto} other{{minutes} minutos}}", + "timeMinutes": "{count, plural, =1{{count} minuto} other{{count} minutos}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 día} other{{days} días}}", + "timeDays": "{count, plural, =1{{count} día} other{{count} días}}", "@timeDays": { "placeholders": { "days": {} diff --git a/lib/l10n/app_hi.arb b/lib/l10n/app_hi.arb index f3e8f06ab..8d12567fa 100644 --- a/lib/l10n/app_hi.arb +++ b/lib/l10n/app_hi.arb @@ -3,19 +3,19 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "मैं नियमों और शर्तों पर सहमत हुं", "@welcomeTermsToggle": {}, - "columnCount": "{count, plural, =1{१ कॉलम} other{{count} कॉलम}}", + "columnCount": "{count, plural, other{{count} कॉलम}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{ १ सेकंड} other{{seconds} सेकंडस}}", + "timeSeconds": "{count, plural, =1{{count} सेकंड} other{{count} सेकंडस}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeDays": "{days, plural, =1{ १ दिन} other{{days} दिन}}", + "timeDays": "{count, plural, other{{count} दिन}}", "@timeDays": { "placeholders": { "days": {} @@ -43,7 +43,7 @@ }, "deleteButtonLabel": "डिलीट", "@deleteButtonLabel": {}, - "timeMinutes": "{minutes, plural, =1{ १ मिनट} other{{minutes} मिनट}}", + "timeMinutes": "{count, plural, other{{count} मिनट}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_hu.arb b/lib/l10n/app_hu.arb index eb73d4c11..1c52f473a 100644 --- a/lib/l10n/app_hu.arb +++ b/lib/l10n/app_hu.arb @@ -811,7 +811,7 @@ "@widgetOpenPageCollection": {}, "renameEntrySetPageInsertTooltip": "Mező beszúrása", "@renameEntrySetPageInsertTooltip": {}, - "timeDays": "{days, plural, other{{days} nap}}", + "timeDays": "{count, plural, other{{count} nap}}", "@timeDays": { "placeholders": { "days": {} @@ -829,13 +829,13 @@ "count": {} } }, - "timeSeconds": "{seconds, plural, other{{seconds} másodperc}}", + "timeSeconds": "{count, plural, other{{count} másodperc}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, other{{minutes} perc}}", + "timeMinutes": "{count, plural, other{{count} perc}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 8ef064d2e..96ee8805c 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, other{{count} benda}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, other{{seconds} detik}}", + "timeSeconds": "{count, plural, other{{count} detik}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, other{{minutes} menit}}", + "timeMinutes": "{count, plural, other{{count} menit}}", "@timeMinutes": {}, - "timeDays": "{days, plural, other{{days} hari}}", + "timeDays": "{count, plural, other{{count} hari}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, diff --git a/lib/l10n/app_is.arb b/lib/l10n/app_is.arb index 05c603ad5..dc646fc67 100644 --- a/lib/l10n/app_is.arb +++ b/lib/l10n/app_is.arb @@ -782,7 +782,7 @@ "@placePageTitle": {}, "filterOnThisDayLabel": "Á þessum degi", "@filterOnThisDayLabel": {}, - "columnCount": "{count, plural, =1{1 dálkur} other{{count} dálkar}}", + "columnCount": "{count, plural, =1{{count} dálkur} other{{count} dálkar}}", "@columnCount": { "placeholders": { "count": {} @@ -1136,7 +1136,7 @@ "@drawerCollectionImages": {}, "sortOrderSmallestFirst": "Minnsta fyrst", "@sortOrderSmallestFirst": {}, - "timeSeconds": "{seconds, plural, =1{1 sekúnda} other{{seconds} sekúndur}}", + "timeSeconds": "{count, plural, =1{{count} sekúnda} other{{count} sekúndur}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -1292,7 +1292,7 @@ "@subtitlePositionBottom": {}, "castDialogTitle": "Útvörpunartæki", "@castDialogTitle": {}, - "timeDays": "{days, plural, =1{1 dagur} other{{days} dagar}}", + "timeDays": "{count, plural, =1{{count} dagur} other{{count} dagar}}", "@timeDays": { "placeholders": { "days": {} @@ -1322,7 +1322,7 @@ "@entryActionEdit": {}, "entryInfoActionEditRating": "Breyta einkunn", "@entryInfoActionEditRating": {}, - "timeMinutes": "{minutes, plural, =1{1 mínúta} other{{minutes} mínútur}}", + "timeMinutes": "{count, plural, =1{{count} mínúta} other{{count} mínútur}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 810d8319e..0aeb6f075 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} elemento} other{{count} elementi}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 secondo} other{{seconds} secondi}}", + "timeSeconds": "{count, plural, =1{{count} secondo} other{{count} secondi}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 minuto} other{{minutes} minuti}}", + "timeMinutes": "{count, plural, =1{{count} minuto} other{{count} minuti}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 giorno} other{{days} giorni}}", + "timeDays": "{count, plural, =1{{count} giorno} other{{count} giorni}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, @@ -1171,7 +1171,7 @@ "@settingsWidgetDisplayedItem": {}, "settingsViewerShowRatingTags": "Mostra valutazione & etichette", "@settingsViewerShowRatingTags": {}, - "columnCount": "{count, plural, =1{1 colonna} other{{count} colonne}}", + "columnCount": "{count, plural, =1{{count} colonna} other{{count} colonne}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 717587375..ac142d208 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, other{{count} 件のアイテム}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, other{{seconds} 秒}}", + "timeSeconds": "{count, plural, other{{count} 秒}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, other{{minutes} 分}}", + "timeMinutes": "{count, plural, other{{count} 分}}", "@timeMinutes": {}, - "timeDays": "{days, plural, other{{days} 日}}", + "timeDays": "{count, plural, other{{count} 日}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index db3489eb0..d7b44725c 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, other{{count}개}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, other{{seconds}초}}", + "timeSeconds": "{count, plural, other{{count}초}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, other{{minutes}분}}", + "timeMinutes": "{count, plural, other{{count}분}}", "@timeMinutes": {}, - "timeDays": "{days, plural, other{{days}일}}", + "timeDays": "{count, plural, other{{count}일}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, diff --git a/lib/l10n/app_lt.arb b/lib/l10n/app_lt.arb index e0b837f47..96f58ead1 100644 --- a/lib/l10n/app_lt.arb +++ b/lib/l10n/app_lt.arb @@ -13,13 +13,13 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Sutinku su taisyklėmis ir sąlygomis", "@welcomeTermsToggle": {}, - "timeSeconds": "{seconds, plural, =1{1 sekundė} few{{seconds} sekundės} other{{seconds} sekundžių}}", + "timeSeconds": "{count, plural, =1{{count} sekundė} few{{count} sekundės} other{{count} sekundžių}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeDays": "{days, plural, =1{1 diena} few{{days} dienos} other{{days} dienų}}", + "timeDays": "{count, plural, =1{{count} diena} few{{count} dienos} other{{count} dienų}}", "@timeDays": { "placeholders": { "days": {} @@ -291,7 +291,7 @@ "count": {} } }, - "timeMinutes": "{minutes, plural, =1{1 minutė} few{{minutes} minutės} other{{minutes} minučių}}", + "timeMinutes": "{count, plural, =1{{count} minutė} few{{count} minutės} other{{count} minučių}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_my.arb b/lib/l10n/app_my.arb index f32afc13a..d30743527 100644 --- a/lib/l10n/app_my.arb +++ b/lib/l10n/app_my.arb @@ -23,19 +23,19 @@ "count": {} } }, - "timeSeconds": "{seconds, plural, other{{seconds} စက္ကန့်}}", + "timeSeconds": "{count, plural, other{{count} စက္ကန့်}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, other{{minutes} မိနစ်}}", + "timeMinutes": "{count, plural, other{{count} မိနစ်}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, other{{days} ရက်}}", + "timeDays": "{count, plural, other{{count} ရက်}}", "@timeDays": { "placeholders": { "days": {} diff --git a/lib/l10n/app_nb.arb b/lib/l10n/app_nb.arb index 5346b287e..b01453526 100644 --- a/lib/l10n/app_nb.arb +++ b/lib/l10n/app_nb.arb @@ -751,13 +751,13 @@ "@settingsConfirmationTile": {}, "settingsThumbnailSectionTitle": "Miniatyrbilder", "@settingsThumbnailSectionTitle": {}, - "timeMinutes": "{minutes, plural, =1{1 minutt} other{{minutes} minutter}}", + "timeMinutes": "{count, plural, =1{{count} minutt} other{{count} minutter}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 dag} other{{days} dager}}", + "timeDays": "{count, plural, =1{{count} dag} other{{count} dager}}", "@timeDays": { "placeholders": { "days": {} @@ -769,7 +769,7 @@ "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 sekund} other{{seconds} sekunder}}", + "timeSeconds": "{count, plural, =1{{count} sekund} other{{count} sekunder}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -1343,7 +1343,7 @@ "@settingsDisplayUseTvInterface": {}, "settingsAccessibilityShowPinchGestureAlternatives": "Vis multi-trykkhåndvendingsalternativer", "@settingsAccessibilityShowPinchGestureAlternatives": {}, - "columnCount": "{count, plural, =1{1 kolonne} other{{count} kolonner}}", + "columnCount": "{count, plural, =1{{count} kolonne} other{{count} kolonner}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 0eb3389a8..9a06dd20b 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} item} other{{count} items}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 seconde} other{{seconds} seconden}}", + "timeSeconds": "{count, plural, =1{{count} seconde} other{{count} seconden}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 minuut} other{{minutes} minuten}}", + "timeMinutes": "{count, plural, =1{{count} minuut} other{{count} minuten}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 dag} other{{days} dagen}}", + "timeDays": "{count, plural, =1{{count} dag} other{{count} dagen}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, diff --git a/lib/l10n/app_nn.arb b/lib/l10n/app_nn.arb index f1e1d7897..b6bc62289 100644 --- a/lib/l10n/app_nn.arb +++ b/lib/l10n/app_nn.arb @@ -1,5 +1,5 @@ { - "timeSeconds": "{seconds, plural, other{{seconds} sekund}}", + "timeSeconds": "{count, plural, other{{count} sekund}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -15,13 +15,13 @@ "count": {} } }, - "timeMinutes": "{minutes, plural, other{{minutes} minutt}}", + "timeMinutes": "{count, plural, other{{count} minutt}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 dag} other{{days} dagar}}", + "timeDays": "{count, plural, =1{{count} dag} other{{count} dagar}}", "@timeDays": { "placeholders": { "days": {} @@ -1421,7 +1421,7 @@ "@mapAttributionOsmHot": {}, "mapAttributionStamen": "Kartdata © [OpenStreetMap](https://www.openstreetmap.org/copyright)-medverkarar • Fliser av [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)", "@mapAttributionStamen": {}, - "columnCount": "{count, plural, =1{1 kolonne} other{{count} kolonnar}}", + "columnCount": "{count, plural, =1{{count} kolonne} other{{count} kolonnar}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 2208df050..28bcfa00b 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -239,25 +239,25 @@ "count": {} } }, - "columnCount": "{count, plural, =1{1 rząd} few{{count} rzędy} other{{count} rzędów}}", + "columnCount": "{count, plural, =1{{count} rząd} few{{count} rzędy} other{{count} rzędów}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 sekunda} few{{seconds} sekundy} other{{seconds} sekund}}", + "timeSeconds": "{count, plural, =1{{count} sekunda} few{{count} sekundy} other{{count} sekund}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{1 minuta} few{{minutes} minuty} other{{minutes} minut}}", + "timeMinutes": "{count, plural, =1{{count} minuta} few{{count} minuty} other{{count} minut}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 dzień} few{{days} dni} other{{days} dni}}", + "timeDays": "{count, plural, =1{{count} dzień} few{{count} dni} other{{count} dni}}", "@timeDays": { "placeholders": { "days": {} diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 29c923b52..ed629af6d 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} item} other{{count} itens}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 segundo} other{{seconds} segundos}}", + "timeSeconds": "{count, plural, =1{{count} segundo} other{{count} segundos}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 minuto} other{{minutes} minutos}}", + "timeMinutes": "{count, plural, =1{{count} minuto} other{{count} minutos}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 dia} other{{days} dias}}", + "timeDays": "{count, plural, =1{{count} dia} other{{count} dias}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, @@ -1215,7 +1215,7 @@ "@pinDialogConfirm": {}, "passwordDialogEnter": "Digite a senha", "@passwordDialogEnter": {}, - "columnCount": "{count, plural, =1{1 coluna} other{{count} colunas}}", + "columnCount": "{count, plural, =1{{count} coluna} other{{count} colunas}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 028cf6024..2a2ac24ed 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -5,19 +5,19 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Sunt de acord cu Termenii și condițiile", "@welcomeTermsToggle": {}, - "timeSeconds": "{seconds, plural, =1{1 secundă} other{{seconds} secunde}}", + "timeSeconds": "{count, plural, =1{{count} secundă} other{{count} secunde}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{1 minut} other{{minutes} minute}}", + "timeMinutes": "{count, plural, =1{{count} minut} other{{count} minute}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 zi} other{{days} zile}}", + "timeDays": "{count, plural, =1{{count} zi} other{{count} zile}}", "@timeDays": { "placeholders": { "days": {} @@ -1329,7 +1329,7 @@ "@statsTopCountriesSectionTitle": {}, "settingsAccessibilityShowPinchGestureAlternatives": "Afișare alternative de gesturi atingeri-multiple", "@settingsAccessibilityShowPinchGestureAlternatives": {}, - "columnCount": "{count, plural, =1{1 coloană} other{{count} coloane}}", + "columnCount": "{count, plural, =1{{count} coloană} other{{count} coloane}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 0b142f030..a996f5aff 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, =1{{count} объект} few{{count} объекта} other{{count} объектов}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 секунда} few{{seconds} секунды} other{{seconds} секунд}}", + "timeSeconds": "{count, plural, =1{{count} секунда} few{{count} секунды} other{{count} секунд}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 минута} few{{minutes} минуты} other{{minutes} минут}}", + "timeMinutes": "{count, plural, =1{{count} минута} few{{count} минуты} other{{count} минут}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 день} few{{days} дня} other{{days} дней}}", + "timeDays": "{count, plural, =1{{count} день} few{{count} дня} other{{count} дней}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, @@ -1177,7 +1177,7 @@ "@filterAspectRatioPortraitLabel": {}, "settingsViewerShowRatingTags": "Показать рейтинг и теги", "@settingsViewerShowRatingTags": {}, - "columnCount": "{count, plural, =1{1 столбец} few{{count} столбца} other{{count} столбцов}}", + "columnCount": "{count, plural, =1{{count} столбец} few{{count} столбца} other{{count} столбцов}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index 37bc0a54b..2f9174937 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -27,7 +27,7 @@ "@chipActionDelete": {}, "welcomeTermsToggle": "Súhlasím s pravidlami a podmienkami", "@welcomeTermsToggle": {}, - "timeDays": "{days, plural, other{{days} dni}}", + "timeDays": "{count, plural, other{{count} dni}}", "@timeDays": { "placeholders": { "days": {} @@ -50,7 +50,7 @@ "@doubleBackExitMessage": {}, "welcomeOptional": "Voliteľné", "@welcomeOptional": {}, - "timeMinutes": "{minutes, plural, =1{1 minúta} few{{minutes} minúty} other{{minutes} minút}}", + "timeMinutes": "{count, plural, =1{{count} minúta} few{{count} minúty} other{{count} minút}}", "@timeMinutes": { "placeholders": { "minutes": {} @@ -644,13 +644,13 @@ "count": {} } }, - "columnCount": "{count, plural, =1{1 stĺpec} other{{count} stĺpcov}}", + "columnCount": "{count, plural, =1{{count} stĺpec} other{{count} stĺpcov}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 sekunda} other{{seconds} sekúnd}}", + "timeSeconds": "{count, plural, =1{{count} sekunda} other{{count} sekúnd}}", "@timeSeconds": { "placeholders": { "seconds": {} diff --git a/lib/l10n/app_sv.arb b/lib/l10n/app_sv.arb index 5f3f40eb4..735c3c44c 100644 --- a/lib/l10n/app_sv.arb +++ b/lib/l10n/app_sv.arb @@ -106,25 +106,25 @@ "count": {} } }, - "columnCount": "{count, plural, =1{1 kolumn} other{{count} kolumner}}", + "columnCount": "{count, plural, =1{{count} kolumn} other{{count} kolumner}}", "@columnCount": { "placeholders": { "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 sekund} other{{seconds} sekunder}}", + "timeSeconds": "{count, plural, =1{{count} sekund} other{{count} sekunder}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{1 minut} other{{minutes} minuter}}", + "timeMinutes": "{count, plural, =1{{count} minut} other{{count} minuter}}", "@timeMinutes": { "placeholders": { "minutes": {} } }, - "timeDays": "{days, plural, =1{1 dag} other{{days} dagar}}", + "timeDays": "{count, plural, =1{{count} dag} other{{count} dagar}}", "@timeDays": { "placeholders": { "days": {} diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index 9651dc743..0458ec614 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, other{{count} öğe}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, =1{1 saniye} other{{seconds} saniye}}", + "timeSeconds": "{count, plural, other{{count} saniye}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, =1{1 dakika} other{{minutes} dakika}}", + "timeMinutes": "{count, plural, other{{count} dakika}}", "@timeMinutes": {}, - "timeDays": "{days, plural, =1{1 gün} other{{days} gün}}", + "timeDays": "{count, plural, other{{count} gün}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 38e008ff3..f119a3aa9 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -7,7 +7,7 @@ "@welcomeOptional": {}, "welcomeTermsToggle": "Я погоджуюсь з умовами та положеннями", "@welcomeTermsToggle": {}, - "timeDays": "{days, plural, =1{1 день} few{{days} дні} other{{days} днів}}", + "timeDays": "{count, plural, =1{{count} день} few{{count} дні} other{{count} днів}}", "@timeDays": { "placeholders": { "days": {} @@ -643,13 +643,13 @@ "count": {} } }, - "timeSeconds": "{seconds, plural, =1{1 секунда} few{{seconds} секунди} other{{seconds} секунд}}", + "timeSeconds": "{count, plural, =1{{count} секунда} few{{count} секунди} other{{count} секунд}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, =1{1 хвилина} few{{minutes} хвилини} other{{minutes} хвилин}}", + "timeMinutes": "{count, plural, =1{{count} хвилина} few{{count} хвилини} other{{count} хвилин}}", "@timeMinutes": { "placeholders": { "minutes": {} @@ -1345,7 +1345,7 @@ "@mapAttributionOsmHot": {}, "settingsAccessibilityShowPinchGestureAlternatives": "Показувати альтернативи мультисенсорним жестам", "@settingsAccessibilityShowPinchGestureAlternatives": {}, - "columnCount": "{count, plural, =1{1 стовпець} few{{count} стовпці} other{{count} стовпців}}", + "columnCount": "{count, plural, =1{{count} стовпець} few{{count} стовпці} other{{count} стовпців}}", "@columnCount": { "placeholders": { "count": {} diff --git a/lib/l10n/app_vi.arb b/lib/l10n/app_vi.arb index 2bcde374c..0e889f8b2 100644 --- a/lib/l10n/app_vi.arb +++ b/lib/l10n/app_vi.arb @@ -951,7 +951,7 @@ "@placePageTitle": {}, "filterOnThisDayLabel": "Vào ngày này", "@filterOnThisDayLabel": {}, - "columnCount": "{count, plural, =1{1 cột} other{{count} cột}}", + "columnCount": "{count, plural, other{{count} cột}}", "@columnCount": { "placeholders": { "count": {} @@ -1271,7 +1271,7 @@ "@drawerCollectionImages": {}, "sortOrderSmallestFirst": "Nhỏ trước", "@sortOrderSmallestFirst": {}, - "timeSeconds": "{seconds, plural, =1{1 giây} other{{seconds} giây}}", + "timeSeconds": "{count, plural, other{{count} giây}}", "@timeSeconds": { "placeholders": { "seconds": {} @@ -1405,7 +1405,7 @@ "@settingsNavigationDrawerTabAlbums": {}, "subtitlePositionBottom": "Dưới", "@subtitlePositionBottom": {}, - "timeDays": "{days, plural, =1{1 ngày} other{{days} ngày}}", + "timeDays": "{count, plural, other{{count} ngày}}", "@timeDays": { "placeholders": { "days": {} @@ -1429,7 +1429,7 @@ "@settingsViewerQuickActionsTile": {}, "newVaultDialogTitle": "Két sắt mới", "@newVaultDialogTitle": {}, - "timeMinutes": "{minutes, plural, =1{1 phút} other{{minutes} phút}}", + "timeMinutes": "{count, plural, other{{count} phút}}", "@timeMinutes": { "placeholders": { "minutes": {} diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index f2b322f1c..02c6b39f9 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -9,11 +9,11 @@ "@welcomeTermsToggle": {}, "itemCount": "{count, plural, other{{count} 项}}", "@itemCount": {}, - "timeSeconds": "{seconds, plural, other{{seconds} 秒}}", + "timeSeconds": "{count, plural, other{{count} 秒}}", "@timeSeconds": {}, - "timeMinutes": "{minutes, plural, other{{minutes} 分}}", + "timeMinutes": "{count, plural, other{{count} 分}}", "@timeMinutes": {}, - "timeDays": "{days, plural, other{{days} 天}}", + "timeDays": "{count, plural, other{{count} 天}}", "@timeDays": {}, "focalLength": "{length} mm", "@focalLength": {}, diff --git a/lib/l10n/app_zh_Hant.arb b/lib/l10n/app_zh_Hant.arb index 016cb34bb..dc2d7b0ab 100644 --- a/lib/l10n/app_zh_Hant.arb +++ b/lib/l10n/app_zh_Hant.arb @@ -13,7 +13,7 @@ "count": {} } }, - "timeDays": "{days, plural, other{{days} 天}}", + "timeDays": "{count, plural, other{{count} 天}}", "@timeDays": { "placeholders": { "days": {} @@ -919,13 +919,13 @@ "@mapZoomOutTooltip": {}, "mapPointNorthUpTooltip": "北方向上", "@mapPointNorthUpTooltip": {}, - "timeSeconds": "{seconds, plural, other{{seconds} 秒}}", + "timeSeconds": "{count, plural, other{{count} 秒}}", "@timeSeconds": { "placeholders": { "seconds": {} } }, - "timeMinutes": "{minutes, plural, other{{minutes} 分}}", + "timeMinutes": "{count, plural, other{{count} 分}}", "@timeMinutes": { "placeholders": { "minutes": {} @@ -1419,7 +1419,7 @@ "@settingsVideoResumptionModeDialogTitle": {}, "tagEditorDiscardDialogMessage": "是否要放棄更改?", "@tagEditorDiscardDialogMessage": {}, - "columnCount": "{count, plural, =1{1 列} other{{count} 列}}", + "columnCount": "{count, plural, other{{count} 列}}", "@columnCount": { "placeholders": { "count": {} From d8193584b1eb58e086abdbf4a442a114f49c68d3 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 20 May 2024 18:04:46 +0200 Subject: [PATCH 16/34] l10n: typography fixes for arabic/persian --- lib/widgets/viewer/info/common.dart | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/widgets/viewer/info/common.dart b/lib/widgets/viewer/info/common.dart index c0eab73cb..16c4e9d7b 100644 --- a/lib/widgets/viewer/info/common.dart +++ b/lib/widgets/viewer/info/common.dart @@ -1,5 +1,6 @@ import 'dart:math'; +import 'package:aves/widgets/common/basic/link_chip.dart'; import 'package:aves/widgets/common/identity/aves_filter_chip.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; @@ -72,19 +73,22 @@ class InfoRowGroup extends StatefulWidget { }) { return (context, key, value) { value = linkText(context); - // open link on tap - final recognizer = TapGestureRecognizer()..onTap = () => onTap(context); // `colorScheme.secondary` is overridden upstream as an `ExpansionTileCard` theming workaround, // so we use `colorScheme.primary` instead final linkColor = Theme.of(context).colorScheme.primary; - final style = InfoRowGroup.valueStyle.copyWith( - color: linkColor, - decoration: TextDecoration.underline, - decorationColor: linkColor, - decorationStyle: TextDecorationStyle.solid, - ); - return [TextSpan(text: '${Unicode.FSI}$value${Unicode.PDI}', style: style, recognizer: recognizer)]; + return [ + WidgetSpan( + child: LinkChip( + text: value, + color: linkColor, + textStyle: InfoRowGroup.valueStyle, + // open link on tap + onTap: () => onTap(context), + ), + alignment: PlaceholderAlignment.middle, + ), + ]; }; } } From 17c88b2514f1e6ca05eaf7adaa6aaae89cae8642 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 21 May 2024 19:44:01 +0200 Subject: [PATCH 17/34] shaders for 3.22.0 --- shaders.sksl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shaders.sksl.json b/shaders.sksl.json index 84a307e39..c68a68d01 100644 --- a/shaders.sksl.json +++ b/shaders.sksl.json @@ -1 +1 @@ -{"platform":"android","name":"SM G970N","engineRevision":"c4cd48e186460b32d44585ce3c103271ab676355","data":{"BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAABgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAAAAAA=","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAATQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHIBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAAAAxBsAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAIAALIAAAAB2BQ7SD2OAAAAAMAAAAAEAHQAACAAAAAAQCGHIGP7YJJAAAAABQAAAAAAAAAAA4JAPAAACAAAAAAAAAB2AAAAAAACAAAAAEBSAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAA0iAAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwpjb25zdCBpbnQga0ZpbGxCV19TMl9jMCA9IDA7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxCV19TMl9jMCA9IDI7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxBQV9TMl9jMCA9IDM7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MyX2MwOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyX2MxOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMl9jMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgUmVjdF9TMl9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzJfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMl9jMC56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzJfYzAueHksIHNrX0ZyYWdDb29yZC54eSkpKSk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IHNhdHVyYXRlKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MyX2MwKSk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMl9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzJfYzApIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoaGFsZjQoY292ZXJhZ2UpKTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyX2MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMl9jMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMl9jMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyX2MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMl9jMChfc3JjKSwgQ2lyY3VsYXJSUmVjdF9TMl9jMShfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQmxlbmRfUzIob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRfUzI7Cgl9Cn0KAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAIAAJQAAAAAAAACAAAAADYCAAIAAAAACABKAYABAAAAAFAEEQCEAAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAA":"DAAAAExTS1MIAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwppbiBmbG9hdDIgcG9zaXRpb247CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzJfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAC0HQAAZmxvYXQ0IGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwOwpmbG9hdDQgZnJhZ0NvbG9yX1MxX2MwOwpmbG9hdCB1X2FscGhhX1MxX2MwOwpmbG9hdCB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfYmx1cl9TMV9jMDsKZmxvYXQgdV9yYWRpdXNfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzI7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzJfYzBfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMiwgdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzApLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MyX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MyX2MwX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGV2aWNlU3BhY2VfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMl9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfZHN0X2luKERldmljZVNwYWNlX1MyX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAABQAAAAAAAACAAAAADYCAAIAAAAAWBRAAAABAAAAANAEIQCAAAAAAAAAAAAAUABQAAAAEAAAAAAAEEBQAAAA":"DAAAAExTS1N5AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzRfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIHBvc2l0aW9uLnh5MTsKCX0KfQoAAAAAAAAAzAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERldmljZVNwYWNlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX2RzdF9pbihEZXZpY2VTcGFjZV9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUASJ3EZYN2AAAAAAAAAEAAAABSCQKL3IYIJ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAqQEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAACkAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEUDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzAueHksIHVjbGFtcF9TMV9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAB5AAAAACQNNQSEIYAQAADQAAAABAAAAAAABAEMVC2TBEKRAAAAAHAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAABJBQAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMykgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvdmVyYWdlX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOAAAAcmFkaWlfc2VsZWN0b3IAABkAAABjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzAAAAFQAAAGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZQAAAAcAAAByYWRpaV94AAcAAAByYWRpaV95AAQAAABza2V3GQAAAHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUAAAAFAAAAY29sb3IAAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBUAFS7EOCAAAAAGZJY26AAQAAAA2S5KXK4QAAAAAMAAAAAAAAQAABQM74NUDECAAAAAQ5UOAMQAAAAAAAAAAEAAAAAZ3FHDLYADAAAABKDVK5LSCAIAABQAAAAAAACAAAGAT3RWSMYIAAAAADWRYBSQAAAAAAAQAAAAGJJOXLVOIIBAAAGAAAAAAAAIAAAIAPOH2NTBAAAAAAOKFAOLAAAAAAAEAAAAAMQQAIAAAYGP6G2BSBAAACAAAAAAAAM5S4Z4NUDACAAAAAAAAADAIUOKFAOLAAAAAAACAAAAAZGIEENLQDAAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAUAAAAAAAIIDA":"DAAAAExTS1PrAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzdfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc183X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAQAAAGgKAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMF9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MxOwp1bmlmb3JtIGhhbGYgdXJhbmdlX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSAoaGFsZjQoMS4wKSAtIG91dHB1dF9TMSkgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","AYTRVAADQAAAOAEARAFQJAABBADAAAILBYAACCYUQD777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7CmluIGhhbGYzIGluQ2xpcFBsYW5lOwppbiBoYWxmMyBpbklzZWN0UGxhbmU7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKb3V0IGhhbGYzIHZpbklzZWN0UGxhbmVfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5DbGlwUGxhbmVfUzAgPSBpbkNsaXBQbGFuZTsKCXZpbklzZWN0UGxhbmVfUzAgPSBpbklzZWN0UGxhbmU7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gdWxvY2FsTWF0cml4X1MwLnh6ICogaW5Qb3NpdGlvbiArIHVsb2NhbE1hdHJpeF9TMC55dzsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADdAwAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKaW4gaGFsZjMgdmluSXNlY3RQbGFuZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGYzIGNsaXBQbGFuZTsKCWNsaXBQbGFuZSA9IHZpbkNsaXBQbGFuZV9TMDsKCWhhbGYzIGlzZWN0UGxhbmU7Cglpc2VjdFBsYW5lID0gdmluSXNlY3RQbGFuZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGYgY2xpcCA9IGhhbGYoc2F0dXJhdGUoY2lyY2xlRWRnZS56ICogZG90KGNpcmNsZUVkZ2UueHksIGNsaXBQbGFuZS54eSkgKyBjbGlwUGxhbmUueikpOwoJY2xpcCAqPSBoYWxmKHNhdHVyYXRlKGNpcmNsZUVkZ2UueiAqIGRvdChjaXJjbGVFZGdlLnh5LCBpc2VjdFBsYW5lLnh5KSArIGlzZWN0UGxhbmUueikpOwoJZWRnZUFscGhhICo9IGNsaXA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlCwAAAGluQ2xpcFBsYW5lAAwAAABpbklzZWN0UGxhbmUAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAEQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"DAAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADVAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQyIHRleENvb3JkOwoJdGV4Q29vcmQgPSB2bG9jYWxDb29yZF9TMDsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBvdXRwdXRDb2xvcl9TMCkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAMAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAIAALIAAAAAUDLMERKGAAAAAMAAAAAIAAAAAAAIBDNIWUYZAUAAAAAAYAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAAJAeAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKY29uc3QgaW50IGtGaWxsQUFfUzJfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzJfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzJfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVjaXJjbGVfUzJfYzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjbGVfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMl9jMC54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MyX2MwLncpIC0gMS4wKSAqIHVjaXJjbGVfUzJfYzAueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzJfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMl9jMC53KSkgKiB1Y2lyY2xlX1MyX2MwLnopOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGludCgxKSA9PSBrRmlsbEFBX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCA/IHNhdHVyYXRlKGQpIDogaGFsZihkID4gMC41KSkpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoX3NyYywgQ2lyY2xlX1MyX2MwKF9zcmMpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAB7AgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","CMRQCIAABBYAAAEIXBAAACDQMAABRAFAAAAAAAAAAAAAAAEABYAAAAEAAAAAAAEEBQAAAAA":"DAAAAExTS1MyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0MiBpbkVsbGlwc2VPZmZzZXQ7CmluIGZsb2F0NCBpbkVsbGlwc2VSYWRpaTsKb3V0IGZsb2F0MiB2RWxsaXBzZU9mZnNldHNfUzA7Cm91dCBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCXZFbGxpcHNlT2Zmc2V0c19TMCA9IGluRWxsaXBzZU9mZnNldDsKCXZFbGxpcHNlUmFkaWlfUzAgPSBpbkVsbGlwc2VSYWRpaTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAHIDAABpbiBmbG9hdDIgdkVsbGlwc2VPZmZzZXRzX1MwOwppbiBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiBvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHk7CglvZmZzZXQgKj0gdkVsbGlwc2VSYWRpaV9TMC54eTsKCWZsb2F0IHRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZmxvYXQyIGdyYWQgPSAyLjAqb2Zmc2V0KnZFbGxpcHNlUmFkaWlfUzAueHk7CglmbG9hdCBncmFkX2RvdCA9IGRvdChncmFkLCBncmFkKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjE3NTVlLTM4KTsKCWZsb2F0IGludmxlbiA9IGludmVyc2VzcXJ0KGdyYWRfZG90KTsKCWZsb2F0IGVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNS10ZXN0Kmludmxlbik7CglvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHkqdkVsbGlwc2VSYWRpaV9TMC56dzsKCXRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZ3JhZCA9IDIuMCpvZmZzZXQqdkVsbGlwc2VSYWRpaV9TMC56dzsKCWdyYWRfZG90ID0gZG90KGdyYWQsIGdyYWQpOwoJaW52bGVuID0gaW52ZXJzZXNxcnQoZ3JhZF9kb3QpOwoJZWRnZUFscGhhICo9IHNhdHVyYXRlKDAuNSt0ZXN0Kmludmxlbik7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoZWRnZUFscGhhKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpbkVsbGlwc2VPZmZzZXQADgAAAGluRWxsaXBzZVJhZGlpAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAADIAAAAGULKMMQKAAAAAAMAAAAAIAAAAAAGIRBNAWEYZAUAABQAAAAAAAAAAAAADUAAAAAAAEAAAAAIDEAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACoBAAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMSkgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gY2xhbXAoc3Vic2V0Q29vcmQueCwgdWNsYW1wX1MxX2MwLngsIHVjbGFtcF9TMV9jMC56KTsKCWNsYW1wZWRDb29yZC55ID0gc3Vic2V0Q29vcmQueTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACbAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUASJ3EZYN2AAAAACAAAEAAAABSCQKL3IYIJ2AAAAACAAAEAAAABLRAABAAAAABAEGABBAMAAQAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueCwgdWNsYW1wX1MxX2MwX2MwX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclggPSBoYWxmKHN1YnNldENvb3JkLnggLSBjbGFtcGVkQ29vcmQueCk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclgpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NoAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc180X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMCkgKiBwb3NpdGlvbi54eTE7Cgl9Cn0KAAAAADkDAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABFAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAUx0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMi5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMi5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAADWAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","HWJQAAAAABEAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777A4QCQAAAAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1OaAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwppbiBmbG9hdDQgdGV4U3Vic2V0OwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpmbGF0IG91dCBmbG9hdDQgdnRleFN1YnNldF9TMDsKb3V0IGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDIgcG9zaXRpb24gPSBwb3NpdGlvbi54eTsKCXZsb2NhbENvb3JkX1MwID0gbG9jYWxDb29yZDsKCXZ0ZXhTdWJzZXRfUzAgPSB0ZXhTdWJzZXQ7Cgl2Y292ZXJhZ2VfUzAgPSBjb3ZlcmFnZTsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAAABWAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmZsYXQgaW4gZmxvYXQ0IHZ0ZXhTdWJzZXRfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglmbG9hdDQgc3Vic2V0OwoJc3Vic2V0ID0gdnRleFN1YnNldF9TMDsKCXRleENvb3JkID0gY2xhbXAodGV4Q29vcmQsIHN1YnNldC5MVCwgc3Vic2V0LlJCKTsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBoYWxmNCgxKSkpOwoJZmxvYXQgY292ZXJhZ2UgPSB2Y292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAACQAAAHRleFN1YnNldAAAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAeBQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAEAAAABQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAAAAAA=","DASAAAAAAAAAAAEAAFQAAIGAAEAOB77776PUEAIBAAAAAABAAAAAAABAMQAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAADYAQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB1Q29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApOwoJfQoJb3V0cHV0Q29sb3JfUzAgPSBvdXRwdXRDb2xvcl9TMCAqIHRleENvbG9yOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUASJ3EZYN2AAAAAAAIAEAAAABSCQKL3IYIJ2AAAAAAAIAEAAAABLBCABAAAAABAEGABBAMAAACAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAueSwgdWNsYW1wX1MxX2MwX2MwX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclkgPSBoYWxmKHN1YnNldENvb3JkLnkgLSBjbGFtcGVkQ29vcmQueSk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclkpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAABsdAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMjsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQ2lyY3VsYXJSUmVjdF9TMihvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0X1MyOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","EADQAAAAAEAAAAAUAABQAAQPAAABCFYMAAKAUEAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MyBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MyBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IGluUG9zaXRpb24ueHkwejsKfQoAAAAAAACXAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBmbG9hdDIgdkludFRleHR1cmVDb29yZHNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGlzdGFuY2VGaWVsZFBhdGgKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiB1diA9IHZUZXh0dXJlQ29vcmRzX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS5ycnJyOwoJfQoJaGFsZiBkaXN0YW5jZSA9IDcuOTY4NzUqKHRleENvbG9yLnIgLSAwLjUwMTk2MDc4NDMxKTsKCWhhbGYgYWZ3aWR0aDsKCWFmd2lkdGggPSBhYnMoMC42NSpoYWxmKGRGZHgodkludFRleHR1cmVDb29yZHNfUzAueCkpKTsKCWhhbGYgdmFsID0gc21vb3Roc3RlcCgtYWZ3aWR0aCwgYWZ3aWR0aCwgZGlzdGFuY2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCh2YWwpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBVWKMG7QAAAAAAAEAQCAAAAAVREEAQAAAAAQCDAAQQGAABAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAHwQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gTWF0cml4RWZmZWN0X1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBUAFS7EOCAAAAAGZJY26AAQAAAA2S5KXK4QAAAAAMAAAAAGBT7RWQMQIAAAACDWRYBSAAAAAAAAAAAQAAAADHMU4NPAAMAAAAFIOVLVOIIBAAAGAAAAADAJ5Y3JGMEAAAAAB3I4AZIAAAAAAAIAAAADEUXLV2XEEAQAADAAAAAAQA64PU3GCAAAAAA4UKA4WAAAAAAAIAAAABSHBT7RWQMQIAAAAAAAAAEACVYYQBROAMAAAAAIAAAABEBBQ5UOAMQAAAAAAAAAACABKBAABAAAAAFAEEQCEAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAHQkAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgMWUtMDUsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglyZXR1cm4gaGFsZjQob3V0Q29sb3IpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIF9jb29yZHMpLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MxKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzEpICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IERpdGhlcl9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzZfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IGNvbG9yID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChfdG1wXzZfaW5Db2xvcik7CgloYWxmIHZhbHVlID0gTWF0cml4RWZmZWN0X1MxX2MxKF90bXBfNl9pbkNvbG9yLCBza19GcmFnQ29vcmQueHkpLncgLSAwLjU7CglyZXR1cm4gaGFsZjQoaGFsZjQoY2xhbXAoY29sb3IueHl6ICsgdmFsdWUgKiB1cmFuZ2VfUzEsIDAuMCwgY29sb3IudyksIGNvbG9yLncpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpdGhlcl9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBVWKMG7QAAAAAAAAAQCAAAAAVQEEAQAAAAAQCDAAQQGAAAAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAQgQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gc3Vic2V0Q29vcmQueDsKCWNsYW1wZWRDb29yZC55ID0gY2xhbXAoc3Vic2V0Q29vcmQueSwgdWNsYW1wX1MxX2MwX2MwLnksIHVjbGFtcF9TMV9jMF9jMC53KTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBNYXRyaXhFZmZlY3RfUzFfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAA6QAAAABUDB7AHU6AIAAAYAAAAAQAAAAAEARR2BR7WDKMAAAAAMAAAAAAAAAAAABIADAAAAAIAAAAAAAIIDAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAPQUAAGNvbnN0IGludCBrRmlsbEJXX1MxX2MwID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxX2MwID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxX2MwID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBSZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBjb3ZlcmFnZTsKCWlmIChpbnQoMSkgPT0ga0ZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzFfYzApIAoJewoJCWNvdmVyYWdlID0gaGFsZihhbGwoZ3JlYXRlclRoYW4oZmxvYXQ0KHNrX0ZyYWdDb29yZC54eSwgdXJlY3RVbmlmb3JtX1MxX2MwLnp3KSwgZmxvYXQ0KHVyZWN0VW5pZm9ybV9TMV9jMC54eSwgc2tfRnJhZ0Nvb3JkLnh5KSkpKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gc2F0dXJhdGUoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzFfYzApKTsKCQloYWxmMiBkaXN0czIgPSAoZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3KSAtIDEuMDsKCQljb3ZlcmFnZSA9IGRpc3RzMi54ICogZGlzdHMyLnk7Cgl9CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCkgCgl7CgkJY292ZXJhZ2UgPSAxLjAgLSBjb3ZlcmFnZTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChjb3ZlcmFnZSkpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHIBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIwbAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBVWKMG7QAAAAAAAEAACAAAAAVREAAQAAAAAQCDAAQQGAABAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAQgQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gY2xhbXAoc3Vic2V0Q29vcmQueCwgdWNsYW1wX1MxX2MwX2MwLngsIHVjbGFtcF9TMV9jMF9jMC56KTsKCWNsYW1wZWRDb29yZC55ID0gc3Vic2V0Q29vcmQueTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBNYXRyaXhFZmZlY3RfUzFfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"DAAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAADAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBoYWxmMyB2aW5TaGFkb3dQYXJhbXNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUlJlY3RTaGFkb3cKCWhhbGYzIHNoYWRvd1BhcmFtczsKCXNoYWRvd1BhcmFtcyA9IHZpblNoYWRvd1BhcmFtc19TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZCA9IGxlbmd0aChzaGFkb3dQYXJhbXMueHkpOwoJZmxvYXQyIHV2ID0gZmxvYXQyKHNoYWRvd1BhcmFtcy56ICogKDEuMCAtIGQpLCAwLjUpOwoJaGFsZiBmYWN0b3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS4wMDByLmE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGZhY3Rvcik7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADgAAAGluU2hhZG93UGFyYW1zAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAzAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBNGZODK5YIAAAAAAQAAAAAIADCNS4GV3QYBAAAAAAAAAAAIAA4IAEAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAsB0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0IGR5MCA9IHVpbm5lclJlY3RfUzIuVCAtIHNrX0ZyYWdDb29yZC55OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChmbG9hdDIoZHh5MS54LCBtYXgoZHkwLCBkeHkxLnkpKSwgMC4wKTsKCWhhbGYgbGVmdEFscGhhID0gaGFsZihzYXR1cmF0ZShza19GcmFnQ29vcmQueCAtIHVpbm5lclJlY3RfUzIuTCkpOwoJaGFsZiBhbHBoYSA9IGxlZnRBbHBoYSAqIGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFQBVWKMG7QAAAAAAAAAACAAAAAVQEAAQAAAAAQCDAEQQGAAAAAAAAAAAA4IAPAAACAAAAAAAEABYAAAAEAAAAAAAEEBQA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAApAQAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMjsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzI7CnNhbXBsZXJFeHRlcm5hbE9FUyB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfM19TMCk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBNYXRyaXhFZmZlY3RfUzFfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMihoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzIuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzIuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMi54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQ2lyY3VsYXJSUmVjdF9TMihvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0X1MyOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAAANAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBUAFS7EOCAAAAAGZJY26AAQAAAA2S5KXK4QAAAAAMAAAAAAAAQAABQM74NUDECAAAAAQ5UOAMQAAAAAAAAAAEAAAAAZ3FHDLYADAAAABKDVK5LSCAIAABQAAAAAAACAAAGAT3RWSMYIAAAAADWRYBSQAAAAAAAQAAAAGJJOXLVOIIBAAAGAAAAAAAAIAAAIAPOH2NTBAAAAAAOKFAOLAAAAAAAEAAAAAMQQAIAAAYGP6G2BSBAAACAAAAAAAAM5S4Z4NUDACAAAAAAAAADAIUOKFAOLAAAAAAACAAAAAZGIEENLQDAAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfN19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAIQoAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAA8AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXJFeHRlcm5hbE9FUyB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAB4QA4AAAEAAAAAABIADAAAAAIAAAAAAAIID":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAOAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABHAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABnZW9tU3Vic2V0AAAAAAAA","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAGsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCkucnJycjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAGAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAAAAAA="}} \ No newline at end of file +{"platform":"android","name":"SM G970N","engineRevision":"f6344b75dcf861d8bf1f1322780b8811f982e31a","data":{"HWJAAAAAAAUAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1NKAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBwb3NpdGlvbiA9IHBvc2l0aW9uLnh5OwoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJdmNvdmVyYWdlX1MwID0gY292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAA3AEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAAAAAAAA==","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAEAAACbAgAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGhhbGY0IHZjb2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCXJldHVybiBfaW5wdXQgKiBhbHBoYTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAABsdAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMjsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQ2lyY3VsYXJSUmVjdF9TMihvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0X1MyOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA6IAMAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAUx0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMi5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMi5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAAAEAAAABSGQUAGC2HJ2AAAAAAAAAEAAAABLBAABAAAAABAEGABBAMAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAACoFAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3Jkcyk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IEdhdXNzaWFuQmx1cjFEX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWhhbGY0IHN1bSA9IGhhbGY0KDAuMCk7Cglmb3IgKGludCBpID0gMDtpIDwga01heExvb3BMaW1pdF9TMV9jMDsgKytpKSAKCXsKCQloYWxmNCBzID0gdW9mZnNldHNBbmRLZXJuZWxfUzFfYzBbaV07CgkJc3VtICs9IHMueSAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnggKiB1ZGlyX1MxX2MwKSk7CgkJc3VtICs9IHMudyAqIE1hdHJpeEVmZmVjdF9TMV9jMF9jMChfdG1wXzBfaW5Db2xvciwgX3RtcF8xX2Nvb3JkcyArIGZsb2F0MihzLnogKiB1ZGlyX1MxX2MwKSk7Cgl9CglyZXR1cm4gaGFsZjQoc3VtKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIEdhdXNzaWFuQmx1cjFEX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAAAAAAAxBsAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAABQAAAAAAAACAAAAADYCAAIAAAAAWBRAAAABAAAAANAEIQCAAAAAAAAAAAAAUABQAAAAEAAAAAAAEEBQAAAA":"DAAAAExTS1N5AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzRfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIHBvc2l0aW9uLnh5MTsKCX0KfQoAAAAAAAAAzAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwKS4wMDByOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERldmljZVNwYWNlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX2RzdF9pbihEZXZpY2VTcGFjZV9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGAAZAADIAAAAIH5K3LIKAAAAAAMAAAAAIAAAAAAGIZBQP3FQWAUAABQAAAAAAAAAAAAADUAAAAAAAEAAAAAIDEAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAACoBAAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2bG9jYWxDb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMSkgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglvdXRwdXRDb2xvcl9TMCA9IChibGVuZF9tb2R1bGF0ZShzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHRleENvb3JkKSwgaGFsZjQoMSkpKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAACABZQA6AAAEAAAAAAAIADQAAAAIAAAAAAAIIDA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAACPAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmluIGZsb2F0NCB2aW5DaXJjbGVFZGdlX1MwOwppbiBoYWxmNCB2aW5Db2xvcl9TMDsKaGFsZjQgQ2lyY3VsYXJSUmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglmbG9hdDIgZHh5MCA9IHVpbm5lclJlY3RfUzEuTFQgLSBza19GcmFnQ29vcmQueHk7CglmbG9hdDIgZHh5MSA9IHNrX0ZyYWdDb29yZC54eSAtIHVpbm5lclJlY3RfUzEuUkI7CglmbG9hdDIgZHh5ID0gbWF4KG1heChkeHkwLCBkeHkxKSwgMC4wKTsKCWhhbGYgYWxwaGEgPSBoYWxmKHNhdHVyYXRlKHVyYWRpdXNQbHVzSGFsZl9TMS54IC0gbGVuZ3RoKGR4eSkpKTsKCWFscGhhID0gMS4wIC0gYWxwaGE7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAAzAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAGIBIAAABAAAAANAEAAAAAAAAAAAAAABAAOAAAABAAAAAAABBAMAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAGsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCkucnJycjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAAAQAAAAGQCBAMQACAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZC54ID0gY2xhbXAoc3Vic2V0Q29vcmQueCwgdWNsYW1wX1MxX2MwLngsIHVjbGFtcF9TMV9jMC56KTsKCWNsYW1wZWRDb29yZC55ID0gc3Vic2V0Q29vcmQueTsKCWhhbGY0IHRleHR1cmVDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgY2xhbXBlZENvb3JkKTsKCXJldHVybiB0ZXh0dXJlQ29sb3I7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAB4FJEIEKOAAAAAMAAAAAEAHQAACAAAAAAQCGPSVARQRJAAAAABQAAAAAAAAAAA4JAPAAACAAAAAAAAAB2AAAAAAACAAAAAEBSAAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAA0iAAAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwpjb25zdCBpbnQga0ZpbGxCV19TMl9jMCA9IDA7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxCV19TMl9jMCA9IDI7CmNvbnN0IGludCBrSW52ZXJzZUZpbGxBQV9TMl9jMCA9IDM7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MyX2MwOwp1bmlmb3JtIGZsb2F0NCB1aW5uZXJSZWN0X1MyX2MxOwp1bmlmb3JtIGhhbGYyIHVyYWRpdXNQbHVzSGFsZl9TMl9jMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0KaGFsZjQgUmVjdF9TMl9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGYgY292ZXJhZ2U7CglpZiAoaW50KDEpID09IGtGaWxsQldfUzJfYzAgfHwgaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwKSAKCXsKCQljb3ZlcmFnZSA9IGhhbGYoYWxsKGdyZWF0ZXJUaGFuKGZsb2F0NChza19GcmFnQ29vcmQueHksIHVyZWN0VW5pZm9ybV9TMl9jMC56dyksIGZsb2F0NCh1cmVjdFVuaWZvcm1fUzJfYzAueHksIHNrX0ZyYWdDb29yZC54eSkpKSk7Cgl9CgllbHNlIAoJewoJCWhhbGY0IGRpc3RzNCA9IHNhdHVyYXRlKGhhbGY0KDEuMCwgMS4wLCAtMS4wLCAtMS4wKSAqIGhhbGY0KHNrX0ZyYWdDb29yZC54eXh5IC0gdXJlY3RVbmlmb3JtX1MyX2MwKSk7CgkJaGFsZjIgZGlzdHMyID0gKGRpc3RzNC54eSArIGRpc3RzNC56dykgLSAxLjA7CgkJY292ZXJhZ2UgPSBkaXN0czIueCAqIGRpc3RzMi55OwoJfQoJaWYgKGludCgxKSA9PSBrSW52ZXJzZUZpbGxCV19TMl9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQUFfUzJfYzApIAoJewoJCWNvdmVyYWdlID0gMS4wIC0gY292ZXJhZ2U7Cgl9CglyZXR1cm4gaGFsZjQoaGFsZjQoY292ZXJhZ2UpKTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyX2MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMl9jMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMl9jMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyX2MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMl9jMChfc3JjKSwgQ2lyY3VsYXJSUmVjdF9TMl9jMShfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWZsb2F0IGNvdmVyYWdlID0gdmNvdmVyYWdlX1MwOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJaGFsZjQgb3V0cHV0X1MyOwoJb3V0cHV0X1MyID0gQmxlbmRfUzIob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRfUzI7Cgl9Cn0KAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HVJAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAABAAAAAABBAMABAAOAAAABAAAAAAABBAMAAA":"DAAAAExTS1MjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cgl2bG9jYWxDb29yZF9TMCA9IGxvY2FsQ29vcmQ7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAADVAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQyIHRleENvb3JkOwoJdGV4Q29vcmQgPSB2bG9jYWxDb29yZF9TMDsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBvdXRwdXRDb2xvcl9TMCkpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAB3QA6AAAEAAAAAAAMAAPEAEAAABAAAAAAB2AAAAAAACAAAAAEBSAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgEAAAAeBQAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwppbiBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CmhhbGY0IENpcmN1bGFyUlJlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MxLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MxLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzEueCAtIGxlbmd0aChkeHkpKSk7CglhbHBoYSA9IDEuMCAtIGFscGhhOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CmhhbGY0IENpcmN1bGFyUlJlY3RfUzIoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGR4eTAgPSB1aW5uZXJSZWN0X1MyLkxUIC0gc2tfRnJhZ0Nvb3JkLnh5OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChtYXgoZHh5MCwgZHh5MSksIDAuMCk7CgloYWxmIGFscGhhID0gaGFsZihzYXR1cmF0ZSh1cmFkaXVzUGx1c0hhbGZfUzIueCAtIGxlbmd0aChkeHkpKSk7CglyZXR1cm4gX2lucHV0ICogYWxwaGE7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIENpcmNsZUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDQgY2lyY2xlRWRnZTsKCWNpcmNsZUVkZ2UgPSB2aW5DaXJjbGVFZGdlX1MwOwoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZpbkNvbG9yX1MwOwoJZmxvYXQgZCA9IGxlbmd0aChjaXJjbGVFZGdlLnh5KTsKCWhhbGYgZGlzdGFuY2VUb091dGVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKDEuMCAtIGQpKTsKCWhhbGYgZWRnZUFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb091dGVyRWRnZSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBDaXJjdWxhclJSZWN0X1MxKG91dHB1dENvdmVyYWdlX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0X1MxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMjsKCX0KfQoAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAwAAABpbkNpcmNsZUVkZ2UAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAAAAQAABANBBK3CICAAAEASHSVIGAAAAAAAAAAAEAAAAAZAGSM7BYCAAAAA2CDQ53SKAIAABQAAAAAAACAAAEAUAF3OJAIAAAAAI6LVEYAAAAAAAAQAAAAGLJIMDXPJIBAAAGAAAAAAAAIAAAAAQIXNZERAAAAABDJMU3BAAAAAAAEAAAAAMQQAIAAAQGQQVNREBAAACAAAAAAAAMRC5HBSYCACAAAAAAAAADAIVDJMU3BAAAAAAACAAAAAZDIMQ4RKBQAAAAAAAAAABQAKAIAAIAAAADIBCEAQAAAAAAAAAAAIADQAAAAUAAAAAAAIIDA":"DAAAAExTS1PrAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzdfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc183X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMF9jMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAQAAAGgKAAB1bmlmb3JtIGhhbGY0IHVzdGFydF9TMV9jMF9jMF9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1ZW5kX1MxX2MwX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzBfYzE7CnVuaWZvcm0gaGFsZjQgdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MxOwp1bmlmb3JtIGhhbGYgdXJhbmdlX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfN19TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IGNvbG9yX3hmb3JtX1MxX2MwX2MwX2MwKGZsb2F0NCBjb2xvcikgCnsKCWNvbG9yLnJnYiAqPSBjb2xvci5hOwoJcmV0dXJuIGhhbGY0KGNvbG9yKTsKfQpoYWxmNCBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBjb2xvcl94Zm9ybV9TMV9jMF9jMF9jMChTaW5nbGVJbnRlcnZhbENvbG9yaXplcl9TMV9jMF9jMF9jMF9jMChfaW5wdXQsIF9jb29yZHMpKTsKfQpoYWxmNCBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8zX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc183X1MwOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGhhbGYoX3RtcF8zX2Nvb3Jkcy54KSArIDFlLTA1LCAxLjAsIDAuMCwgMC4wKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBMaW5lYXJMYXlvdXRfUzFfYzBfYzBfYzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF80X2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmNCB0ID0gTWF0cml4RWZmZWN0X1MxX2MwX2MwX2MxKF90bXBfNF9pbkNvbG9yKTsKCWhhbGY0IG91dENvbG9yOwoJaWYgKCFib29sKGludCgxKSkgJiYgdC55IDwgMC4wKSAKCXsKCQlvdXRDb2xvciA9IGhhbGY0KDAuMCk7Cgl9CgllbHNlIGlmICh0LnggPCAwLjApIAoJewoJCW91dENvbG9yID0gdWxlZnRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgaWYgKHQueCA+IDEuMCkgCgl7CgkJb3V0Q29sb3IgPSB1cmlnaHRCb3JkZXJDb2xvcl9TMV9jMF9jMDsKCX0KCWVsc2UgCgl7CgkJb3V0Q29sb3IgPSBDb2xvclNwYWNlWGZvcm1fUzFfYzBfYzBfYzAoX3RtcF80X2luQ29sb3IsIGZsb2F0MihoYWxmMih0LngsIDAuMCkpKTsKCX0KCXJldHVybiBoYWxmNChvdXRDb2xvcik7Cn0KaGFsZjQgRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglfaW5wdXQgPSBDbGFtcGVkR3JhZGllbnRfUzFfYzBfYzAoX2lucHV0KTsKCWhhbGY0IF90bXBfNV9pbkNvbG9yID0gX2lucHV0OwoJcmV0dXJuIGhhbGY0KF9pbnB1dCk7Cn0KaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMSwgX2Nvb3JkcykuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzEoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MxX2MxX2MwKF9pbnB1dCwgZmxvYXQzeDIodW1hdHJpeF9TMV9jMSkgKiBfY29vcmRzLnh5MSk7Cn0KaGFsZjQgRGl0aGVyX1MxKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfNl9pbkNvbG9yID0gX2lucHV0OwoJaGFsZjQgY29sb3IgPSBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxX2MwKF90bXBfNl9pbkNvbG9yKTsKCWhhbGYgdmFsdWUgPSBNYXRyaXhFZmZlY3RfUzFfYzEoX3RtcF82X2luQ29sb3IsIHNrX0ZyYWdDb29yZC54eSkudyAtIDAuNTsKCXJldHVybiBoYWxmNChoYWxmNChjbGFtcChjb2xvci54eXogKyB2YWx1ZSAqIHVyYW5nZV9TMSwgMC4wLCBjb2xvci53KSwgY29sb3IudykpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGl0aGVyX1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSAoaGFsZjQoMS4wKSAtIG91dHB1dF9TMSkgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAB4QA4AAAEAAAAAABIADAAAAAIAAAAAAAIID":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAOAMAAHVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzE7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PPAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7Cm91dCBoYWxmNCB2Y29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7Cglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAMAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHIBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAIwbAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb2xvcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDQgdV9jb21wb3NpdGVfMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jZW50ZXJfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9tYXhfcmFkaXVzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfbm9pc2Vfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQgdV9ub2lzZV9waGFzZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUxX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlM19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24yX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uM19TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpOwp2b2lkIEZMVF9tYWluX1MxX2MwKCk7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCkgCnsKCXJldHVybiBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMC54eTsKfQpmbG9hdDJ4MiBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChmbG9hdDIgcmFkKSAKewoJcmV0dXJuIGZsb2F0MngyKHJhZC54LCAtcmFkLnksIHJhZC55LCByYWQueCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgYmx1cikgCnsKCWZsb2F0IGJsdXJfaGFsZiA9IGJsdXIgKiAwLjU7CglmbG9hdCBkID0gZGlzdGFuY2UodXYsIHh5KTsKCXJldHVybiAxLjAgLSBzbW9vdGhzdGVwKDEuMCAtIGJsdXJfaGFsZiwgMS4wICsgYmx1cl9oYWxmLCBkIC8gcmFkaXVzKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKSAKewoJZmxvYXQyIHBhcmFtID0gcm90YXRpb247CglwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAocGFyYW0pICogKHh5IC0gcCkgKyB4eTsKCXAgPSBtb2QocCwgZmxvYXQyKGNlbGxfZGlhbWV0ZXIpKSAvIHJlc29sdXRpb247CglmbG9hdCBjZWxsX3V2ID0gKGNlbGxfZGlhbWV0ZXIgLyByZXNvbHV0aW9uLnkpICogMC41OwoJZmxvYXQgciA9IDAuNjUgKiBjZWxsX3V2OwoJZmxvYXQyIHBhcmFtXzEgPSBwOwoJZmxvYXQyIHBhcmFtXzIgPSBmbG9hdDIoY2VsbF91dik7CglmbG9hdCBwYXJhbV8zID0gcjsKCWZsb2F0IHBhcmFtXzQgPSByICogNTAuMDsKCXJldHVybiBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKGZsb2F0MiB1dikgCnsKCWZsb2F0MiB1dl9zY2FsZSA9IHV2ICogZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW0gPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMiA9IHVfY2lyY2xlMV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8zID0gdV9yb3RhdGlvbjFfUzFfYzA7CglmbG9hdCBwYXJhbV80ID0gMC4xNzsKCWZsb2F0IF8zMTkgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7CglmbG9hdCBnMSA9IF8zMTk7CglmbG9hdDIgcGFyYW1fNSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzYgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV83ID0gdV9jaXJjbGUyX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzggPSB1X3JvdGF0aW9uMl9TMV9jMDsKCWZsb2F0IHBhcmFtXzkgPSAwLjI7CglmbG9hdCBfMzMxID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBnMiA9IF8zMzE7CglmbG9hdDIgcGFyYW1fMTAgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV8xMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzEyID0gdV9jaXJjbGUzX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdV9yb3RhdGlvbjNfUzFfYzA7CglmbG9hdCBwYXJhbV8xNCA9IDAuMjc1OwoJZmxvYXQgXzM0NCA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIsIHBhcmFtXzEzLCBwYXJhbV8xNCk7CglmbG9hdCBnMyA9IF8zNDQ7CglmbG9hdCB2ID0gKChnMSAqIGcxICsgZzIpIC0gZzMpICogMC41OwoJcmV0dXJuIGNsYW1wKDAuNDUgKyAwLjggKiB2LCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cikgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQyIHBhcmFtXzEgPSB4eTsKCWZsb2F0IHBhcmFtXzIgPSByYWRpdXMgKyB0aGlja25lc3M7CglmbG9hdCBwYXJhbV8zID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9vdXRlciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0MiBwYXJhbV80ID0gdXY7CglmbG9hdDIgcGFyYW1fNSA9IHh5OwoJZmxvYXQgcGFyYW1fNiA9IG1heChyYWRpdXMgLSB0aGlja25lc3MsIDAuMCk7CglmbG9hdCBwYXJhbV83ID0gYmx1cjsKCWZsb2F0IGNpcmNsZV9pbm5lciA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcpOwoJcmV0dXJuIGNsYW1wKGNpcmNsZV9vdXRlciAtIGNpcmNsZV9pbm5lciwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKSAKewoJbiA9IGZyYWN0KG4gKiBmbG9hdDIoNS4zOTg3LCA1LjQ0MjEpKTsKCW4gKz0gZmxvYXQyKGRvdChuLnl4LCBuICsgZmxvYXQyKDIxLjUzNTEsIDE0LjMxMzcpKSk7CglmbG9hdCB4eSA9IG4ueCAqIG4ueTsKCXJldHVybiAoZnJhY3QoeHkgKiA5NS40MzA3KSArIGZyYWN0KHh5ICogNzUuMDQ5NjEpKSAtIDEuMDsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCkgCnsKCXJldHVybiBzdGVwKGwsIHYpICogKDEuMCAtIHN0ZXAoaCwgdikpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdCBfMjQyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAocGFyYW0pOwoJZmxvYXQgbiA9IF8yNDI7CglmbG9hdCBwYXJhbV8xID0gbjsKCWZsb2F0IHBhcmFtXzIgPSAwLjA7CglmbG9hdCBwYXJhbV8zID0gMC4wNTsKCWZsb2F0IHMgPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdCBwYXJhbV80ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjM1KSk7CglmbG9hdCBwYXJhbV81ID0gMC4xOwoJZmxvYXQgcGFyYW1fNiA9IDAuMTU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82KTsKCWZsb2F0IHBhcmFtXzcgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuNykpOwoJZmxvYXQgcGFyYW1fOCA9IDAuMjsKCWZsb2F0IHBhcmFtXzkgPSAwLjI1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNywgcGFyYW1fOCwgcGFyYW1fOSk7CglmbG9hdCBwYXJhbV8xMCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMS4wNSkpOwoJZmxvYXQgcGFyYW1fMTEgPSAwLjM7CglmbG9hdCBwYXJhbV8xMiA9IDAuMzU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyKTsKCXJldHVybiBjbGFtcChzLCAwLjAsIDEuMCkgKiAwLjU1Owp9CnZvaWQgRkxUX21haW5fUzFfYzAoKSAKewoJdV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueDsKCXVfc3BhcmtsZV9hbHBoYV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAueTsKCXVfYmx1cl9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAuejsKCXVfcmFkaXVzX3NjYWxlX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC53OwoJZmxvYXQyIHAgPSBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CglmbG9hdDIgdXZfMSA9IHAgKiB1X3Jlc29sdXRpb25fc2NhbGVfUzFfYzA7CglmbG9hdDIgZGVuc2l0eV91diA9IHV2XzEgLSBtb2QocCwgdV9ub2lzZV9zY2FsZV9TMV9jMCk7CglmbG9hdCByYWRpdXMgPSB1X21heF9yYWRpdXNfUzFfYzAgKiB1X3JhZGl1c19zY2FsZV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHV2XzE7CglmbG9hdCB0dXJidWxlbmNlID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChwYXJhbV8xMyk7CglmbG9hdDIgcGFyYW1fMTQgPSBwOwoJZmxvYXQyIHBhcmFtXzE1ID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8xNiA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzE3ID0gMC4wNSAqIHVfbWF4X3JhZGl1c19TMV9jMDsKCWZsb2F0IHBhcmFtXzE4ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgcmluZyA9IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChwYXJhbV8xNCwgcGFyYW1fMTUsIHBhcmFtXzE2LCBwYXJhbV8xNywgcGFyYW1fMTgpOwoJZmxvYXQyIHBhcmFtXzE5ID0gZGVuc2l0eV91djsKCWZsb2F0IHBhcmFtXzIwID0gdV9ub2lzZV9waGFzZV9TMV9jMDsKCWZsb2F0IHNwYXJrbGUgPSAoKEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAocGFyYW1fMTksIHBhcmFtXzIwKSAqIHJpbmcpICogdHVyYnVsZW5jZSkgKiB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMjEgPSBwOwoJZmxvYXQyIHBhcmFtXzIyID0gdV9jZW50ZXJfUzFfYzA7CglmbG9hdCBwYXJhbV8yMyA9IHJhZGl1czsKCWZsb2F0IHBhcmFtXzI0ID0gdV9ibHVyX1MxX2MwOwoJZmxvYXQgd2F2ZV9hbHBoYSA9IChGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV8yMSwgcGFyYW1fMjIsIHBhcmFtXzIzLCBwYXJhbV8yNCkgKiB1X2FscGhhX1MxX2MwKSAqIHVfY29sb3JfUzFfYzAudzsKCWZsb2F0NCB3YXZlX2NvbG9yID0gZmxvYXQ0KHVfY29sb3JfUzFfYzAueHl6ICogd2F2ZV9hbHBoYSwgd2F2ZV9hbHBoYSk7CglmcmFnQ29sb3JfUzFfYzAgPSBtaXgod2F2ZV9jb2xvciwgZmxvYXQ0KDEuMCksIGZsb2F0NChzcGFya2xlKSk7Cn0KaGFsZjQgcnVudGltZV9zaGFkZXJfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglmbG9hdDIgX3RtcF8xX2Nvb3JkcyA9IHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwoJZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAgPSBmbG9hdDQoX3RtcF8xX2Nvb3JkcywgMC4wLCAwLjApOwoJRkxUX21haW5fUzFfYzAoKTsKCXJldHVybiBoYWxmNChoYWxmNChmcmFnQ29sb3JfUzFfYzApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHJ1bnRpbWVfc2hhZGVyX1MxX2MwKF9pbnB1dCk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBNYXRyaXhFZmZlY3RfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAAJQAAAAAAAACAAAAADYCAAIAAAAACABKAYABAAAAAFAEEQCEAAAAAAAAAAAAAAB2AAAAAAACAAAAAEBSAA":"DAAAAExTS1MIAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwppbiBmbG9hdDIgcG9zaXRpb247CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc182X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzJfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAC0HQAAZmxvYXQ0IGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwOwpmbG9hdDQgZnJhZ0NvbG9yX1MxX2MwOwpmbG9hdCB1X2FscGhhX1MxX2MwOwpmbG9hdCB1X3NwYXJrbGVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfYmx1cl9TMV9jMDsKZmxvYXQgdV9yYWRpdXNfc2NhbGVfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29sb3JfUzFfYzA7CnVuaWZvcm0gZmxvYXQ0IHVfY29tcG9zaXRlXzFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2VudGVyX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbWF4X3JhZGl1c19TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X25vaXNlX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0IHVfbm9pc2VfcGhhc2VfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUyX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjNfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MyX2MwX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzI7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChmbG9hdDIgcmVzb2x1dGlvbiwgaW5vdXQgZmxvYXQyIHAsIGZsb2F0MiB4eSwgZmxvYXQyIHJvdGF0aW9uLCBmbG9hdCBjZWxsX2RpYW1ldGVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAoZmxvYXQgdiwgZmxvYXQgbCwgZmxvYXQgaCk7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NwYXJrbGVfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdCB0KTsKdm9pZCBGTFRfbWFpbl9TMV9jMCgpOwpmbG9hdDIgRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpIAp7CglyZXR1cm4gZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzAueHk7Cn0KZmxvYXQyeDIgRkxUX2ZsdXR0ZXJfbG9jYWxfcm90YXRlMmRfUzFfYzAoZmxvYXQyIHJhZCkgCnsKCXJldHVybiBmbG9hdDJ4MihyYWQueCwgLXJhZC55LCByYWQueSwgcmFkLngpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IGJsdXIpIAp7CglmbG9hdCBibHVyX2hhbGYgPSBibHVyICogMC41OwoJZmxvYXQgZCA9IGRpc3RhbmNlKHV2LCB4eSk7CglyZXR1cm4gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBibHVyX2hhbGYsIDEuMCArIGJsdXJfaGFsZiwgZCAvIHJhZGl1cyk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcikgCnsKCWZsb2F0MiBwYXJhbSA9IHJvdGF0aW9uOwoJcCA9IEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKHBhcmFtKSAqICh4eSAtIHApICsgeHk7CglwID0gbW9kKHAsIGZsb2F0MihjZWxsX2RpYW1ldGVyKSkgLyByZXNvbHV0aW9uOwoJZmxvYXQgY2VsbF91diA9IChjZWxsX2RpYW1ldGVyIC8gcmVzb2x1dGlvbi55KSAqIDAuNTsKCWZsb2F0IHIgPSAwLjY1ICogY2VsbF91djsKCWZsb2F0MiBwYXJhbV8xID0gcDsKCWZsb2F0MiBwYXJhbV8yID0gZmxvYXQyKGNlbGxfdXYpOwoJZmxvYXQgcGFyYW1fMyA9IHI7CglmbG9hdCBwYXJhbV80ID0gciAqIDUwLjA7CglyZXR1cm4gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMywgcGFyYW1fNCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHVyYnVsZW5jZV9TMV9jMChmbG9hdDIgdXYpIAp7CglmbG9hdDIgdXZfc2NhbGUgPSB1diAqIGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMSA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzIgPSB1X2NpcmNsZTFfUzFfYzA7CglmbG9hdDIgcGFyYW1fMyA9IHVfcm90YXRpb24xX1MxX2MwOwoJZmxvYXQgcGFyYW1fNCA9IDAuMTc7CglmbG9hdCBfMzE5ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwoJZmxvYXQgZzEgPSBfMzE5OwoJZmxvYXQyIHBhcmFtXzUgPSBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbV82ID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fNyA9IHVfY2lyY2xlMl9TMV9jMDsKCWZsb2F0MiBwYXJhbV84ID0gdV9yb3RhdGlvbjJfUzFfYzA7CglmbG9hdCBwYXJhbV85ID0gMC4yOwoJZmxvYXQgXzMzMSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtXzUsIHBhcmFtXzYsIHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgZzIgPSBfMzMxOwoJZmxvYXQyIHBhcmFtXzEwID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fMTEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8xMiA9IHVfY2lyY2xlM19TMV9jMDsKCWZsb2F0MiBwYXJhbV8xMyA9IHVfcm90YXRpb24zX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTQgPSAwLjI3NTsKCWZsb2F0IF8zNDQgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV8xMCwgcGFyYW1fMTEsIHBhcmFtXzEyLCBwYXJhbV8xMywgcGFyYW1fMTQpOwoJZmxvYXQgZzMgPSBfMzQ0OwoJZmxvYXQgdiA9ICgoZzEgKiBnMSArIGcyKSAtIGczKSAqIDAuNTsKCXJldHVybiBjbGFtcCgwLjQ1ICsgMC44ICogdiwgMC4wLCAxLjApOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfcmluZ19TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGJsdXIpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0MiBwYXJhbV8xID0geHk7CglmbG9hdCBwYXJhbV8yID0gcmFkaXVzICsgdGhpY2tuZXNzOwoJZmxvYXQgcGFyYW1fMyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfb3V0ZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbSwgcGFyYW1fMSwgcGFyYW1fMiwgcGFyYW1fMyk7CglmbG9hdDIgcGFyYW1fNCA9IHV2OwoJZmxvYXQyIHBhcmFtXzUgPSB4eTsKCWZsb2F0IHBhcmFtXzYgPSBtYXgocmFkaXVzIC0gdGhpY2tuZXNzLCAwLjApOwoJZmxvYXQgcGFyYW1fNyA9IGJsdXI7CglmbG9hdCBjaXJjbGVfaW5uZXIgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChwYXJhbV80LCBwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83KTsKCXJldHVybiBjbGFtcChjaXJjbGVfb3V0ZXIgLSBjaXJjbGVfaW5uZXIsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChpbm91dCBmbG9hdDIgbikgCnsKCW4gPSBmcmFjdChuICogZmxvYXQyKDUuMzk4NywgNS40NDIxKSk7CgluICs9IGZsb2F0Mihkb3Qobi55eCwgbiArIGZsb2F0MigyMS41MzUxLCAxNC4zMTM3KSkpOwoJZmxvYXQgeHkgPSBuLnggKiBuLnk7CglyZXR1cm4gKGZyYWN0KHh5ICogOTUuNDMwNykgKyBmcmFjdCh4eSAqIDc1LjA0OTYxKSkgLSAxLjA7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpIAp7CglyZXR1cm4gc3RlcChsLCB2KSAqICgxLjAgLSBzdGVwKGgsIHYpKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCkgCnsKCWZsb2F0MiBwYXJhbSA9IHV2OwoJZmxvYXQgXzI0MiA9IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKHBhcmFtKTsKCWZsb2F0IG4gPSBfMjQyOwoJZmxvYXQgcGFyYW1fMSA9IG47CglmbG9hdCBwYXJhbV8yID0gMC4wOwoJZmxvYXQgcGFyYW1fMyA9IDAuMDU7CglmbG9hdCBzID0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQgcGFyYW1fNCA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC4zNSkpOwoJZmxvYXQgcGFyYW1fNSA9IDAuMTsKCWZsb2F0IHBhcmFtXzYgPSAwLjE1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNik7CglmbG9hdCBwYXJhbV83ID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAwLjcpKTsKCWZsb2F0IHBhcmFtXzggPSAwLjI7CglmbG9hdCBwYXJhbV85ID0gMC4yNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzcsIHBhcmFtXzgsIHBhcmFtXzkpOwoJZmxvYXQgcGFyYW1fMTAgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDEuMDUpKTsKCWZsb2F0IHBhcmFtXzExID0gMC4zOwoJZmxvYXQgcGFyYW1fMTIgPSAwLjM1OwoJcyArPSBGTFRfZmx1dHRlcl9sb2NhbF90aHJlc2hvbGRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMik7CglyZXR1cm4gY2xhbXAocywgMC4wLCAxLjApICogMC41NTsKfQp2b2lkIEZMVF9tYWluX1MxX2MwKCkgCnsKCXVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLng7Cgl1X3NwYXJrbGVfYWxwaGFfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnk7Cgl1X2JsdXJfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLno7Cgl1X3JhZGl1c19zY2FsZV9TMV9jMCA9IHVfY29tcG9zaXRlXzFfUzFfYzAudzsKCWZsb2F0MiBwID0gRkxUX2ZsdXR0ZXJfbG9jYWxfRmx1dHRlckZyYWdDb29yZF9TMV9jMCgpOwoJZmxvYXQyIHV2XzEgPSBwICogdV9yZXNvbHV0aW9uX3NjYWxlX1MxX2MwOwoJZmxvYXQyIGRlbnNpdHlfdXYgPSB1dl8xIC0gbW9kKHAsIHVfbm9pc2Vfc2NhbGVfUzFfYzApOwoJZmxvYXQgcmFkaXVzID0gdV9tYXhfcmFkaXVzX1MxX2MwICogdV9yYWRpdXNfc2NhbGVfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1dl8xOwoJZmxvYXQgdHVyYnVsZW5jZSA9IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAocGFyYW1fMTMpOwoJZmxvYXQyIHBhcmFtXzE0ID0gcDsKCWZsb2F0MiBwYXJhbV8xNSA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTYgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8xNyA9IDAuMDUgKiB1X21heF9yYWRpdXNfUzFfYzA7CglmbG9hdCBwYXJhbV8xOCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHJpbmcgPSBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAocGFyYW1fMTQsIHBhcmFtXzE1LCBwYXJhbV8xNiwgcGFyYW1fMTcsIHBhcmFtXzE4KTsKCWZsb2F0MiBwYXJhbV8xOSA9IGRlbnNpdHlfdXY7CglmbG9hdCBwYXJhbV8yMCA9IHVfbm9pc2VfcGhhc2VfUzFfYzA7CglmbG9hdCBzcGFya2xlID0gKChGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKHBhcmFtXzE5LCBwYXJhbV8yMCkgKiByaW5nKSAqIHR1cmJ1bGVuY2UpICogdV9zcGFya2xlX2FscGhhX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzIxID0gcDsKCWZsb2F0MiBwYXJhbV8yMiA9IHVfY2VudGVyX1MxX2MwOwoJZmxvYXQgcGFyYW1fMjMgPSByYWRpdXM7CglmbG9hdCBwYXJhbV8yNCA9IHVfYmx1cl9TMV9jMDsKCWZsb2F0IHdhdmVfYWxwaGEgPSAoRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fMjEsIHBhcmFtXzIyLCBwYXJhbV8yMywgcGFyYW1fMjQpICogdV9hbHBoYV9TMV9jMCkgKiB1X2NvbG9yX1MxX2MwLnc7CglmbG9hdDQgd2F2ZV9jb2xvciA9IGZsb2F0NCh1X2NvbG9yX1MxX2MwLnh5eiAqIHdhdmVfYWxwaGEsIHdhdmVfYWxwaGEpOwoJZnJhZ0NvbG9yX1MxX2MwID0gbWl4KHdhdmVfY29sb3IsIGZsb2F0NCgxLjApLCBmbG9hdDQoc3BhcmtsZSkpOwp9CmhhbGY0IHJ1bnRpbWVfc2hhZGVyX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwID0gZmxvYXQ0KF90bXBfMV9jb29yZHMsIDAuMCwgMC4wKTsKCUZMVF9tYWluX1MxX2MwKCk7CglyZXR1cm4gaGFsZjQoaGFsZjQoZnJhZ0NvbG9yX1MxX2MwKSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBydW50aW1lX3NoYWRlcl9TMV9jMChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzJfYzBfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMiwgdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzApLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MyX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBUZXh0dXJlRWZmZWN0X1MyX2MwX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgRGV2aWNlU3BhY2VfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIE1hdHJpeEVmZmVjdF9TMl9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfZHN0X2luKERldmljZVNwYWNlX1MyX2MwKF9zcmMpLCBfc3JjKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1PUAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gaGFsZjQgY29sb3I7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAEQEAAGZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAAAAAAAA==","AYQQ5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAB7AgAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGYgZGlzdGFuY2VUb0lubmVyRWRnZSA9IGhhbGYoY2lyY2xlRWRnZS56ICogKGQgLSBjaXJjbGVFZGdlLncpKTsKCWhhbGYgaW5uZXJBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9Jbm5lckVkZ2UpOwoJZWRnZUFscGhhICo9IGlubmVyQWxwaGE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAAAACAAAAAVQEAAQAAAAAQCDAAQQGAAAAAAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAADAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18zX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEaXNhYmxlQ292ZXJhZ2VBc0FscGhhX1MxKGhhbGY0IF9pbnB1dCkgCnsKCV9pbnB1dCA9IE1hdHJpeEVmZmVjdF9TMV9jMChfaW5wdXQpOwoJaGFsZjQgX3RtcF8wX2luQ29sb3IgPSBfaW5wdXQ7CglyZXR1cm4gaGFsZjQoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEob3V0cHV0Q29sb3JfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","B2AAQAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1MOAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmIGluQ292ZXJhZ2U7Cm91dCBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cgl2aW5Db3ZlcmFnZV9TMCA9IGluQ292ZXJhZ2U7Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAATQEAAHVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBoYWxmIHZpbkNvdmVyYWdlX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdUNvbG9yX1MwOwoJaGFsZiBhbHBoYSA9IDEuMDsKCWFscGhhID0gdmluQ292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAoAAABpbkNvdmVyYWdlAAAAAAAA","GEMAAAYAAEHAAAARC4EAAAQWBQAAAAAAAAAQAAAAIBCAAAGQAEAAAAAQAAAABAEQAEAAAAA":"DAAAAExTS1NUAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBoYWxmMyBpblNoYWRvd1BhcmFtczsKb3V0IGhhbGYzIHZpblNoYWRvd1BhcmFtc19TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBSUmVjdFNoYWRvdwoJdmluU2hhZG93UGFyYW1zX1MwID0gaW5TaGFkb3dQYXJhbXM7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAADAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBoYWxmMyB2aW5TaGFkb3dQYXJhbXNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUlJlY3RTaGFkb3cKCWhhbGYzIHNoYWRvd1BhcmFtczsKCXNoYWRvd1BhcmFtcyA9IHZpblNoYWRvd1BhcmFtc19TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZCA9IGxlbmd0aChzaGFkb3dQYXJhbXMueHkpOwoJZmxvYXQyIHV2ID0gZmxvYXQyKHNoYWRvd1BhcmFtcy56ICogKDEuMCAtIGQpLCAwLjUpOwoJaGFsZiBmYWN0b3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS4wMDByLmE7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGZhY3Rvcik7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADgAAAGluU2hhZG93UGFyYW1zAAAAAAAA","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAEQQGABZAA6IAAAAACAAAAAADUAAAAAAAEAAAAAIDEAAAAAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAAA8AwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CnNhbXBsZXJFeHRlcm5hbE9FUyB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQ2lyY3VsYXJSUmVjdF9TMShvdXRwdXRDb3ZlcmFnZV9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAALIAAAAAGFM37JKEAAAAAMAAAAAIAAAAAAAIBDAN25XWQUAAAAAAYAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N0AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfMl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAQAAAJAeAABmbG9hdDQgZmx1dHRlcl9GcmFnQ29vcmRfUzFfYzA7CmZsb2F0NCBmcmFnQ29sb3JfUzFfYzA7CmZsb2F0IHVfYWxwaGFfUzFfYzA7CmZsb2F0IHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9ibHVyX1MxX2MwOwpmbG9hdCB1X3JhZGl1c19zY2FsZV9TMV9jMDsKY29uc3QgaW50IGtGaWxsQUFfUzJfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzJfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzJfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVjaXJjbGVfUzJfYzA7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjbGVfUzJfYzAoaGFsZjQgX2lucHV0KSAKewoJaGFsZjQgX3RtcF8yX2luQ29sb3IgPSBfaW5wdXQ7CgloYWxmIGQ7CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCkgCgl7CgkJZCA9IGhhbGYoKGxlbmd0aCgodWNpcmNsZV9TMl9jMC54eSAtIHNrX0ZyYWdDb29yZC54eSkgKiB1Y2lyY2xlX1MyX2MwLncpIC0gMS4wKSAqIHVjaXJjbGVfUzJfYzAueik7Cgl9CgllbHNlIAoJewoJCWQgPSBoYWxmKCgxLjAgLSBsZW5ndGgoKHVjaXJjbGVfUzJfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMl9jMC53KSkgKiB1Y2lyY2xlX1MyX2MwLnopOwoJfQoJcmV0dXJuIGhhbGY0KGhhbGY0KGludCgxKSA9PSBrRmlsbEFBX1MyX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMl9jMCA/IHNhdHVyYXRlKGQpIDogaGFsZihkID4gMC41KSkpOwp9CmhhbGY0IEJsZW5kX1MyKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoX3NyYywgQ2lyY2xlX1MyX2MwKF9zcmMpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7CgloYWxmNCBvdXRwdXRfUzI7CglvdXRwdXRfUzIgPSBCbGVuZF9TMihvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","BYIBQAAABQAAIAABBYAAAEIXBAAP777777777777AAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1M+AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gaW5Db2xvcjsKCXZjb2xvcl9TMCA9IGNvbG9yOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCWZsb2F0MiBfdG1wXzNfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IF90bXBfMV9pblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAABgEAAGluIGhhbGY0IHZjb2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIERlZmF1bHRHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzA7CglvdXRwdXRDb2xvcl9TMCA9IHZjb2xvcl9TMDsKCWNvbnN0IGhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoMSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAAAAAAA=","HUQAAAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NoAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc180X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCXZjb2xvcl9TMCA9IGNvbG9yOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc180X1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMV9jMF9jMCkgKiBwb3NpdGlvbi54eTE7Cgl9Cn0KAAAAADkDAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzBfYzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","B2ABSAAABQAAIAABBYAAB7777777777774ABICAAAAAAAAAAAAAABUABAAAAAEAAAAAIBEABAAAAA":"DAAAAExTS1N4AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gaGFsZjQgdUNvbG9yX1MwOwppbiBmbG9hdDIgaW5Qb3NpdGlvbjsKaW4gaGFsZiBpbkNvdmVyYWdlOwpvdXQgaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBEZWZhdWx0R2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IGNvbG9yID0gdUNvbG9yX1MwOwoJY29sb3IgPSBjb2xvciAqIGluQ292ZXJhZ2U7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCWZsb2F0MiBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8zX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzFfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAGAQAAaW4gaGFsZjQgdmNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGVmYXVsdEdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAaW5Qb3NpdGlvbgAACgAAAGluQ292ZXJhZ2UAAAAAAAA=","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAHEADZAAAAAAIAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAADWAwAAdW5pZm9ybSBmbG9hdDQgdWlubmVyUmVjdF9TMTsKdW5pZm9ybSBoYWxmMiB1cmFkaXVzUGx1c0hhbGZfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdCB2Y292ZXJhZ2VfUzA7CmZsYXQgaW4gZmxvYXQ0IHZnZW9tU3Vic2V0X1MwOwpoYWxmNCBDaXJjdWxhclJSZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0MiBkeHkwID0gdWlubmVyUmVjdF9TMS5MVCAtIHNrX0ZyYWdDb29yZC54eTsKCWZsb2F0MiBkeHkxID0gc2tfRnJhZ0Nvb3JkLnh5IC0gdWlubmVyUmVjdF9TMS5SQjsKCWZsb2F0MiBkeHkgPSBtYXgobWF4KGR4eTAsIGR4eTEpLCAwLjApOwoJaGFsZiBhbHBoYSA9IGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MxLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IENpcmN1bGFyUlJlY3RfUzEob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UFAAAAY29sb3IAAAAKAAAAZ2VvbVN1YnNldAAAAAAAAA==","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBQA5HZ2CAAAAAAAEAQCAAAAAVREEAQAAAAAQCDAAQQGAABAEAAAAAAHIAAAAAAAIAAAAAQGIAAAAAAA":"DAAAAExTS1N6AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfM19TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzApICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAAAAAAAHwQAAHVuaWZvcm0gZmxvYXQ0IHVjbGFtcF9TMV9jMF9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmZsYXQgaW4gaGFsZjQgdmNvbG9yX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzNfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfM19TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzBfYzAueHksIHVjbGFtcF9TMV9jMF9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMF9jMChfaW5wdXQpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzEoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gTWF0cml4RWZmZWN0X1MxX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAAHBvc2l0aW9uBQAAAGNvbG9yAAAACgAAAGxvY2FsQ29vcmQAAAAAAAA=","CMRQCIAABBYAAAEIXBAAACDQMAABRAFAAAAAAAAAAAAAAAEABYAAAAEAAAAAAAEEBQAAAAA":"DAAAAExTS1MyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0MiBpbkVsbGlwc2VPZmZzZXQ7CmluIGZsb2F0NCBpbkVsbGlwc2VSYWRpaTsKb3V0IGZsb2F0MiB2RWxsaXBzZU9mZnNldHNfUzA7Cm91dCBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCXZFbGxpcHNlT2Zmc2V0c19TMCA9IGluRWxsaXBzZU9mZnNldDsKCXZFbGxpcHNlUmFkaWlfUzAgPSBpbkVsbGlwc2VSYWRpaTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAHIDAABpbiBmbG9hdDIgdkVsbGlwc2VPZmZzZXRzX1MwOwppbiBmbG9hdDQgdkVsbGlwc2VSYWRpaV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBFbGxpcHNlR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiBvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHk7CglvZmZzZXQgKj0gdkVsbGlwc2VSYWRpaV9TMC54eTsKCWZsb2F0IHRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZmxvYXQyIGdyYWQgPSAyLjAqb2Zmc2V0KnZFbGxpcHNlUmFkaWlfUzAueHk7CglmbG9hdCBncmFkX2RvdCA9IGRvdChncmFkLCBncmFkKTsKCWdyYWRfZG90ID0gbWF4KGdyYWRfZG90LCAxLjE3NTVlLTM4KTsKCWZsb2F0IGludmxlbiA9IGludmVyc2VzcXJ0KGdyYWRfZG90KTsKCWZsb2F0IGVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNS10ZXN0Kmludmxlbik7CglvZmZzZXQgPSB2RWxsaXBzZU9mZnNldHNfUzAueHkqdkVsbGlwc2VSYWRpaV9TMC56dzsKCXRlc3QgPSBkb3Qob2Zmc2V0LCBvZmZzZXQpIC0gMS4wOwoJZ3JhZCA9IDIuMCpvZmZzZXQqdkVsbGlwc2VSYWRpaV9TMC56dzsKCWdyYWRfZG90ID0gZG90KGdyYWQsIGdyYWQpOwoJaW52bGVuID0gaW52ZXJzZXNxcnQoZ3JhZF9kb3QpOwoJZWRnZUFscGhhICo9IHNhdHVyYXRlKDAuNSt0ZXN0Kmludmxlbik7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGhhbGYoZWRnZUFscGhhKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpbkVsbGlwc2VPZmZzZXQADgAAAGluRWxsaXBzZVJhZGlpAAAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAACAAAEAAAABSGQUAGC2HJ2AAAAACAAAEAAAABLRAABAAAAABAEGABBAMAAQAAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBjbGFtcChzdWJzZXRDb29yZC54LCB1Y2xhbXBfUzFfYzBfYzBfYzAueCwgdWNsYW1wX1MxX2MwX2MwX2MwLnopOwoJY2xhbXBlZENvb3JkLnkgPSBzdWJzZXRDb29yZC55OwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclggPSBoYWxmKHN1YnNldENvb3JkLnggLSBjbGFtcGVkQ29vcmQueCk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclgpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HUQACAAAAAMAADAAAIOAAAH677776IZOCAAP577777777777777777YBAAAAAAAAAAADEAAGAAAAAAAAAIAAAAAPAIABAAAAACYGEAAAAEAAAABUARCAIAAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1NjAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzApICogcG9zaXRpb24ueHkxOwoJfQp9CgAAAAAANAMAAHVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCB2VHJhbnNmb3JtZWRDb29yZHNfNF9TMCkuMDAwcjsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0KTsKfQpoYWxmNCBEZXZpY2VTcGFjZV9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gTWF0cml4RWZmZWN0X1MxX2MwX2MwKF9pbnB1dCk7Cn0KaGFsZjQgQmxlbmRfUzEoaGFsZjQgX3NyYywgaGFsZjQgX2RzdCkgCnsKCXJldHVybiBibGVuZF9kc3RfaW4oRGV2aWNlU3BhY2VfUzFfYzAoX3NyYyksIF9zcmMpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gQmxlbmRfUzEob3V0cHV0Q292ZXJhZ2VfUzAsIGhhbGY0KDEpKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dF9TMTsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgUAAABjb2xvcgAAAAAAAAA=","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAEAB5AAAAAAYFRP5FIUAQAADQAAAABAAAAAAABAEMBTLG62KRAAAAAHAAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgEAAABJBQAAY29uc3QgaW50IGtGaWxsQUFfUzFfYzAgPSAxOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQldfUzFfYzAgPSAyOwpjb25zdCBpbnQga0ludmVyc2VGaWxsQUFfUzFfYzAgPSAzOwp1bmlmb3JtIGZsb2F0NCB1Y2lyY2xlX1MxX2MwOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQyIHZhcmNjb29yZF9TMDsKaGFsZjQgQ2lyY2xlX1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBkOwoJaWYgKGludCgzKSA9PSBrSW52ZXJzZUZpbGxCV19TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzApIAoJewoJCWQgPSBoYWxmKChsZW5ndGgoKHVjaXJjbGVfUzFfYzAueHkgLSBza19GcmFnQ29vcmQueHkpICogdWNpcmNsZV9TMV9jMC53KSAtIDEuMCkgKiB1Y2lyY2xlX1MxX2MwLnopOwoJfQoJZWxzZSAKCXsKCQlkID0gaGFsZigoMS4wIC0gbGVuZ3RoKCh1Y2lyY2xlX1MxX2MwLnh5IC0gc2tfRnJhZ0Nvb3JkLnh5KSAqIHVjaXJjbGVfUzFfYzAudykpICogdWNpcmNsZV9TMV9jMC56KTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChpbnQoMykgPT0ga0ZpbGxBQV9TMV9jMCB8fCBpbnQoMykgPT0ga0ludmVyc2VGaWxsQUFfUzFfYzAgPyBzYXR1cmF0ZShkKSA6IGhhbGYoZCA+IDAuNSkpKTsKfQpoYWxmNCBCbGVuZF9TMShoYWxmNCBfc3JjLCBoYWxmNCBfZHN0KSAKewoJcmV0dXJuIGJsZW5kX21vZHVsYXRlKF9zcmMsIENpcmNsZV9TMV9jMChfc3JjKSk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEZpbGxSUmVjdE9wOjpQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCB4X3BsdXNfMT12YXJjY29vcmRfUzAueCwgeT12YXJjY29vcmRfUzAueTsKCWhhbGYgY292ZXJhZ2U7CglpZiAoMCA9PSB4X3BsdXNfMSkgCgl7CgkJY292ZXJhZ2UgPSBoYWxmKHkpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdCBmbiA9IHhfcGx1c18xICogKHhfcGx1c18xIC0gMik7CgkJZm4gPSBmbWEoeSx5LCBmbik7CgkJZmxvYXQgZm53aWR0aCA9IGZ3aWR0aChmbik7CgkJY292ZXJhZ2UgPSAuNSAtIGhhbGYoZm4vZm53aWR0aCk7CgkJY292ZXJhZ2UgPSBjbGFtcChjb3ZlcmFnZSwgMCwgMSk7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IEJsZW5kX1MxKG91dHB1dENvdmVyYWdlX1MwLCBoYWxmNCgxKSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRfUzE7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOAAAAcmFkaWlfc2VsZWN0b3IAABkAAABjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzAAAAFQAAAGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZQAAAAcAAAByYWRpaV94AAcAAAByYWRpaV95AAQAAABza2V3GQAAAHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUAAAAFAAAAY29sb3IAAAAAAAAA","AYQA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PMAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJdmluQ2lyY2xlRWRnZV9TMCA9IGluQ2lyY2xlRWRnZTsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MiBfdG1wXzBfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSB1bG9jYWxNYXRyaXhfUzAueHogKiBpblBvc2l0aW9uICsgdWxvY2FsTWF0cml4X1MwLnl3OwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HWQACAAAABAAADAAAIOAAAAADIIAAIRODAAP577774DSAIAA737777YBAAAAAAAAAAAKAAYAAAACAAAAAAACCAYAAA":"DAAAAExTS1ONAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGhhbGY0IGNvbG9yOwppbiBmbG9hdDQgZ2VvbVN1YnNldDsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQgdmNvdmVyYWdlX1MwOwpmbGF0IG91dCBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJdmdlb21TdWJzZXRfUzAgPSBnZW9tU3Vic2V0OwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAEAAABHAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKZmxhdCBpbiBmbG9hdDQgdmdlb21TdWJzZXRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWZsb2F0NCBnZW9TdWJzZXQ7CglnZW9TdWJzZXQgPSB2Z2VvbVN1YnNldF9TMDsKCWZsb2F0NCBkaXN0czQgPSBzYXR1cmF0ZShmbG9hdDQoMSwgMSwgLTEsIC0xKSAqIChza19GcmFnQ29vcmQueHl4eSAtIGdlb1N1YnNldCkpOwoJZmxvYXQyIGRpc3RzMiA9IGRpc3RzNC54eSArIGRpc3RzNC56dyAtIDE7Cgljb3ZlcmFnZSA9IG1pbihjb3ZlcmFnZSwgZGlzdHMyLnggKiBkaXN0czIueSk7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABnZW9tU3Vic2V0AAAAAAAA","FAAQMYAAMAAAEADAAABAEYAAAICIAB5AABQAAAQAMAAAEATAAABAIIGAAEDCBYQCA4AAAAAAAA5AAAAAAABAAAAACAZAAAAA":"DAAAAExTS1PUCwAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0NCByYWRpaV9zZWxlY3RvcjsKaW4gZmxvYXQ0IGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHM7CmluIGZsb2F0NCBhYV9ibG9hdF9hbmRfY292ZXJhZ2U7CmluIGZsb2F0NCByYWRpaV94OwppbiBmbG9hdDQgcmFkaWlfeTsKaW4gZmxvYXQ0IHNrZXc7CmluIGZsb2F0MiB0cmFuc2xhdGVfYW5kX2xvY2Fscm90YXRlOwppbiBoYWxmNCBjb2xvcjsKZmxhdCBvdXQgaGFsZjQgdmNvbG9yX1MwOwpvdXQgZmxvYXQyIHZhcmNjb29yZF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgRmlsbFJSZWN0T3A6OlByb2Nlc3NvcgoJdmNvbG9yX1MwID0gY29sb3I7CglmbG9hdCBhYV9ibG9hdF9tdWx0aXBsaWVyID0gMTsKCWZsb2F0MiBjb3JuZXIgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnh5OwoJZmxvYXQyIHJhZGl1c19vdXRzZXQgPSBjb3JuZXJfYW5kX3JhZGl1c19vdXRzZXRzLnp3OwoJZmxvYXQyIGFhX2Jsb2F0X2RpcmVjdGlvbiA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS54eTsKCWZsb2F0IGlzX2xpbmVhcl9jb3ZlcmFnZSA9IGFhX2Jsb2F0X2FuZF9jb3ZlcmFnZS53OwoJZmxvYXQyIHBpeGVsbGVuZ3RoID0gaW52ZXJzZXNxcnQoZmxvYXQyKGRvdChza2V3Lnh6LCBza2V3Lnh6KSwgZG90KHNrZXcueXcsIHNrZXcueXcpKSk7CglmbG9hdDQgbm9ybWFsaXplZF9heGlzX2RpcnMgPSBza2V3ICogcGl4ZWxsZW5ndGgueHl4eTsKCWZsb2F0MiBheGlzd2lkdGhzID0gKGFicyhub3JtYWxpemVkX2F4aXNfZGlycy54eSkgKyBhYnMobm9ybWFsaXplZF9heGlzX2RpcnMuencpKTsKCWZsb2F0MiBhYV9ibG9hdHJhZGl1cyA9IGF4aXN3aWR0aHMgKiBwaXhlbGxlbmd0aCAqIC41OwoJZmxvYXQ0IHJhZGlpX2FuZF9uZWlnaGJvcnMgPSByYWRpaV9zZWxlY3RvciogZmxvYXQ0eDQocmFkaWlfeCwgcmFkaWlfeSwgcmFkaWlfeC55eHd6LCByYWRpaV95Lnd6eXgpOwoJZmxvYXQyIHJhZGlpID0gcmFkaWlfYW5kX25laWdoYm9ycy54eTsKCWZsb2F0MiBuZWlnaGJvcl9yYWRpaSA9IHJhZGlpX2FuZF9uZWlnaGJvcnMuenc7CglmbG9hdCBjb3ZlcmFnZV9tdWx0aXBsaWVyID0gMTsKCWlmIChhbnkoZ3JlYXRlclRoYW4oYWFfYmxvYXRyYWRpdXMsIGZsb2F0MigxKSkpKSAKCXsKCQljb3JuZXIgPSBtYXgoYWJzKGNvcm5lciksIGFhX2Jsb2F0cmFkaXVzKSAqIHNpZ24oY29ybmVyKTsKCQljb3ZlcmFnZV9tdWx0aXBsaWVyID0gMSAvIChtYXgoYWFfYmxvYXRyYWRpdXMueCwgMSkgKiBtYXgoYWFfYmxvYXRyYWRpdXMueSwgMSkpOwoJCXJhZGlpID0gZmxvYXQyKDApOwoJfQoJZmxvYXQgY292ZXJhZ2UgPSBhYV9ibG9hdF9hbmRfY292ZXJhZ2UuejsKCWlmIChhbnkobGVzc1RoYW4ocmFkaWksIGFhX2Jsb2F0cmFkaXVzICogMS41KSkpIAoJewoJCXJhZGlpID0gZmxvYXQyKDApOwoJCWFhX2Jsb2F0X2RpcmVjdGlvbiA9IHNpZ24oY29ybmVyKTsKCQlpZiAoY292ZXJhZ2UgPiAuNSkgCgkJewoJCQlhYV9ibG9hdF9kaXJlY3Rpb24gPSAtYWFfYmxvYXRfZGlyZWN0aW9uOwoJCX0KCQlpc19saW5lYXJfY292ZXJhZ2UgPSAxOwoJfQoJZWxzZSAKCXsKCQlyYWRpaSA9IGNsYW1wKHJhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQluZWlnaGJvcl9yYWRpaSA9IGNsYW1wKG5laWdoYm9yX3JhZGlpLCBwaXhlbGxlbmd0aCAqIDEuNSwgMiAtIHBpeGVsbGVuZ3RoICogMS41KTsKCQlmbG9hdDIgc3BhY2luZyA9IDIgLSByYWRpaSAtIG5laWdoYm9yX3JhZGlpOwoJCWZsb2F0MiBleHRyYV9wYWQgPSBtYXgocGl4ZWxsZW5ndGggKiAuMDYyNSAtIHNwYWNpbmcsIGZsb2F0MigwKSk7CgkJcmFkaWkgLT0gZXh0cmFfcGFkICogLjU7Cgl9CglmbG9hdDIgYWFfb3V0c2V0ID0gYWFfYmxvYXRfZGlyZWN0aW9uICogYWFfYmxvYXRyYWRpdXMgKiBhYV9ibG9hdF9tdWx0aXBsaWVyOwoJZmxvYXQyIHZlcnRleHBvcyA9IGNvcm5lciArIHJhZGl1c19vdXRzZXQgKiByYWRpaSArIGFhX291dHNldDsKCWlmIChjb3ZlcmFnZSA+IC41KSAKCXsKCQlpZiAoYWFfYmxvYXRfZGlyZWN0aW9uLnggIT0gMCAmJiB2ZXJ0ZXhwb3MueCAqIGNvcm5lci54IDwgMCkgCgkJewoJCQlmbG9hdCBiYWNrc2V0ID0gYWJzKHZlcnRleHBvcy54KTsKCQkJdmVydGV4cG9zLnggPSAwOwoJCQl2ZXJ0ZXhwb3MueSArPSBiYWNrc2V0ICogc2lnbihjb3JuZXIueSkgKiBwaXhlbGxlbmd0aC55L3BpeGVsbGVuZ3RoLng7CgkJCWNvdmVyYWdlID0gKGNvdmVyYWdlIC0gLjUpICogYWJzKGNvcm5lci54KSAvIChhYnMoY29ybmVyLngpICsgYmFja3NldCkgKyAuNTsKCQl9CgkJaWYgKGFhX2Jsb2F0X2RpcmVjdGlvbi55ICE9IDAgJiYgdmVydGV4cG9zLnkgKiBjb3JuZXIueSA8IDApIAoJCXsKCQkJZmxvYXQgYmFja3NldCA9IGFicyh2ZXJ0ZXhwb3MueSk7CgkJCXZlcnRleHBvcy55ID0gMDsKCQkJdmVydGV4cG9zLnggKz0gYmFja3NldCAqIHNpZ24oY29ybmVyLngpICogcGl4ZWxsZW5ndGgueC9waXhlbGxlbmd0aC55OwoJCQljb3ZlcmFnZSA9IChjb3ZlcmFnZSAtIC41KSAqIGFicyhjb3JuZXIueSkgLyAoYWJzKGNvcm5lci55KSArIGJhY2tzZXQpICsgLjU7CgkJfQoJfQoJZmxvYXQyeDIgc2tld21hdHJpeCA9IGZsb2F0MngyKHNrZXcueHksIHNrZXcuencpOwoJZmxvYXQyIGRldmNvb3JkID0gdmVydGV4cG9zICogc2tld21hdHJpeCArIHRyYW5zbGF0ZV9hbmRfbG9jYWxyb3RhdGUueHk7CglpZiAoMCAhPSBpc19saW5lYXJfY292ZXJhZ2UpIAoJewoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MigwLCBjb3ZlcmFnZSAqIGNvdmVyYWdlX211bHRpcGxpZXIpOwoJfQoJZWxzZSAKCXsKCQlmbG9hdDIgYXJjY29vcmQgPSAxIC0gYWJzKHJhZGl1c19vdXRzZXQpICsgYWFfb3V0c2V0L3JhZGlpICogY29ybmVyOwoJCXZhcmNjb29yZF9TMC54eSA9IGZsb2F0MihhcmNjb29yZC54KzEsIGFyY2Nvb3JkLnkpOwoJfQoJc2tfUG9zaXRpb24gPSBkZXZjb29yZC54eTAxOwp9CgAAAABFAgAAZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2YXJjY29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBGaWxsUlJlY3RPcDo6UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJZmxvYXQgeF9wbHVzXzE9dmFyY2Nvb3JkX1MwLngsIHk9dmFyY2Nvb3JkX1MwLnk7CgloYWxmIGNvdmVyYWdlOwoJaWYgKDAgPT0geF9wbHVzXzEpIAoJewoJCWNvdmVyYWdlID0gaGFsZih5KTsKCX0KCWVsc2UgCgl7CgkJZmxvYXQgZm4gPSB4X3BsdXNfMSAqICh4X3BsdXNfMSAtIDIpOwoJCWZuID0gZm1hKHkseSwgZm4pOwoJCWZsb2F0IGZud2lkdGggPSBmd2lkdGgoZm4pOwoJCWNvdmVyYWdlID0gLjUgLSBoYWxmKGZuL2Zud2lkdGgpOwoJCWNvdmVyYWdlID0gY2xhbXAoY292ZXJhZ2UsIDAsIDEpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChjb3ZlcmFnZSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA4AAAByYWRpaV9zZWxlY3RvcgAAGQAAAGNvcm5lcl9hbmRfcmFkaXVzX291dHNldHMAAAAVAAAAYWFfYmxvYXRfYW5kX2NvdmVyYWdlAAAABwAAAHJhZGlpX3gABwAAAHJhZGlpX3kABAAAAHNrZXcZAAAAdHJhbnNsYXRlX2FuZF9sb2NhbHJvdGF0ZQAAAAUAAABjb2xvcgAAAAAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQBAEAQAAAAGQCBAMQACAIAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAEUDAAB1bmlmb3JtIGZsb2F0NCB1Y2xhbXBfUzFfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MxOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJZmxvYXQyIGluQ29vcmQgPSB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKCWZsb2F0MiBzdWJzZXRDb29yZDsKCXN1YnNldENvb3JkLnggPSBpbkNvb3JkLng7CglzdWJzZXRDb29yZC55ID0gaW5Db29yZC55OwoJZmxvYXQyIGNsYW1wZWRDb29yZDsKCWNsYW1wZWRDb29yZCA9IGNsYW1wKHN1YnNldENvb3JkLCB1Y2xhbXBfUzFfYzAueHksIHVjbGFtcF9TMV9jMC56dyk7CgloYWxmNCB0ZXh0dXJlQ29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIGNsYW1wZWRDb29yZCk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","HVIACAAAABQAAGAAAQ4AAAAAGQQAARC4GAAAIOCAAD6P7777777777YDAAAAAAAAAAAHQBJYGQ467YIAAAAAAQAAAAAIADDRNBZN5QYBAAAAAAAAAAAIAA4IAEAAACAAAAAABUABAAAAAEAAAAAIBEABAA":"DAAAAExTS1PZAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdCBjb3ZlcmFnZTsKaW4gaGFsZjQgY29sb3I7CmluIGZsb2F0MiBsb2NhbENvb3JkOwpmbGF0IG91dCBoYWxmNCB2Y29sb3JfUzA7Cm91dCBmbG9hdCB2Y292ZXJhZ2VfUzA7Cm91dCBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQyIHBvc2l0aW9uID0gcG9zaXRpb24ueHk7Cgl2Y29sb3JfUzAgPSBjb2xvcjsKCXZjb3ZlcmFnZV9TMCA9IGNvdmVyYWdlOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwoJewoJCXZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwID0gZmxvYXQzeDIodW1hdHJpeF9TMSkgKiBsb2NhbENvb3JkLnh5MTsKCX0KfQoAAAABAAAAsB0AAGZsb2F0NCBmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMDsKZmxvYXQ0IGZyYWdDb2xvcl9TMV9jMDsKZmxvYXQgdV9hbHBoYV9TMV9jMDsKZmxvYXQgdV9zcGFya2xlX2FscGhhX1MxX2MwOwpmbG9hdCB1X2JsdXJfUzFfYzA7CmZsb2F0IHVfcmFkaXVzX3NjYWxlX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbG9yX1MxX2MwOwp1bmlmb3JtIGZsb2F0NCB1X2NvbXBvc2l0ZV8xX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NlbnRlcl9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X21heF9yYWRpdXNfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9ub2lzZV9zY2FsZV9TMV9jMDsKdW5pZm9ybSBmbG9hdCB1X25vaXNlX3BoYXNlX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X2NpcmNsZTFfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfY2lyY2xlMl9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9jaXJjbGUzX1MxX2MwOwp1bmlmb3JtIGZsb2F0MiB1X3JvdGF0aW9uMV9TMV9jMDsKdW5pZm9ybSBmbG9hdDIgdV9yb3RhdGlvbjJfUzFfYzA7CnVuaWZvcm0gZmxvYXQyIHVfcm90YXRpb24zX1MxX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnVuaWZvcm0gZmxvYXQ0IHVpbm5lclJlY3RfUzI7CnVuaWZvcm0gaGFsZjIgdXJhZGl1c1BsdXNIYWxmX1MyOwpmbGF0IGluIGhhbGY0IHZjb2xvcl9TMDsKaW4gZmxvYXQgdmNvdmVyYWdlX1MwOwppbiBmbG9hdDIgdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CmZsb2F0MiBGTFRfZmx1dHRlcl9sb2NhbF9GbHV0dGVyRnJhZ0Nvb3JkX1MxX2MwKCk7CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAoZmxvYXQyIHJlc29sdXRpb24sIGlub3V0IGZsb2F0MiBwLCBmbG9hdDIgeHksIGZsb2F0MiByb3RhdGlvbiwgZmxvYXQgY2VsbF9kaWFtZXRlcik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQyIHh5LCBmbG9hdCByYWRpdXMsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgYmx1cik7CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RyaWFuZ2xlX25vaXNlX1MxX2MwKGlub3V0IGZsb2F0MiBuKTsKZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKGZsb2F0IHYsIGZsb2F0IGwsIGZsb2F0IGgpOwpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zcGFya2xlX1MxX2MwKGZsb2F0MiB1diwgZmxvYXQgdCk7CnZvaWQgRkxUX21haW5fUzFfYzAoKTsKZmxvYXQyIEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKSAKewoJcmV0dXJuIGZsdXR0ZXJfRnJhZ0Nvb3JkX1MxX2MwLnh5Owp9CmZsb2F0MngyIEZMVF9mbHV0dGVyX2xvY2FsX3JvdGF0ZTJkX1MxX2MwKGZsb2F0MiByYWQpIAp7CglyZXR1cm4gZmxvYXQyeDIocmFkLngsIC1yYWQueSwgcmFkLnksIHJhZC54KTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X2NpcmNsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0MiB4eSwgZmxvYXQgcmFkaXVzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQgYmx1cl9oYWxmID0gYmx1ciAqIDAuNTsKCWZsb2F0IGQgPSBkaXN0YW5jZSh1diwgeHkpOwoJcmV0dXJuIDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gYmx1cl9oYWxmLCAxLjAgKyBibHVyX2hhbGYsIGQgLyByYWRpdXMpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKGZsb2F0MiByZXNvbHV0aW9uLCBpbm91dCBmbG9hdDIgcCwgZmxvYXQyIHh5LCBmbG9hdDIgcm90YXRpb24sIGZsb2F0IGNlbGxfZGlhbWV0ZXIpIAp7CglmbG9hdDIgcGFyYW0gPSByb3RhdGlvbjsKCXAgPSBGTFRfZmx1dHRlcl9sb2NhbF9yb3RhdGUyZF9TMV9jMChwYXJhbSkgKiAoeHkgLSBwKSArIHh5OwoJcCA9IG1vZChwLCBmbG9hdDIoY2VsbF9kaWFtZXRlcikpIC8gcmVzb2x1dGlvbjsKCWZsb2F0IGNlbGxfdXYgPSAoY2VsbF9kaWFtZXRlciAvIHJlc29sdXRpb24ueSkgKiAwLjU7CglmbG9hdCByID0gMC42NSAqIGNlbGxfdXY7CglmbG9hdDIgcGFyYW1fMSA9IHA7CglmbG9hdDIgcGFyYW1fMiA9IGZsb2F0MihjZWxsX3V2KTsKCWZsb2F0IHBhcmFtXzMgPSByOwoJZmxvYXQgcGFyYW1fNCA9IHIgKiA1MC4wOwoJcmV0dXJuIEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMsIHBhcmFtXzQpOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3R1cmJ1bGVuY2VfUzFfYzAoZmxvYXQyIHV2KSAKewoJZmxvYXQyIHV2X3NjYWxlID0gdXYgKiBmbG9hdDIoMC44KTsKCWZsb2F0MiBwYXJhbSA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzEgPSB1dl9zY2FsZTsKCWZsb2F0MiBwYXJhbV8yID0gdV9jaXJjbGUxX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzMgPSB1X3JvdGF0aW9uMV9TMV9jMDsKCWZsb2F0IHBhcmFtXzQgPSAwLjE3OwoJZmxvYXQgXzMxOSA9IEZMVF9mbHV0dGVyX2xvY2FsX2NpcmNsZV9ncmlkX1MxX2MwKHBhcmFtLCBwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zLCBwYXJhbV80KTsKCWZsb2F0IGcxID0gXzMxOTsKCWZsb2F0MiBwYXJhbV81ID0gZmxvYXQyKDAuOCk7CglmbG9hdDIgcGFyYW1fNiA9IHV2X3NjYWxlOwoJZmxvYXQyIHBhcmFtXzcgPSB1X2NpcmNsZTJfUzFfYzA7CglmbG9hdDIgcGFyYW1fOCA9IHVfcm90YXRpb24yX1MxX2MwOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjsKCWZsb2F0IF8zMzEgPSBGTFRfZmx1dHRlcl9sb2NhbF9jaXJjbGVfZ3JpZF9TMV9jMChwYXJhbV81LCBwYXJhbV82LCBwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IGcyID0gXzMzMTsKCWZsb2F0MiBwYXJhbV8xMCA9IGZsb2F0MigwLjgpOwoJZmxvYXQyIHBhcmFtXzExID0gdXZfc2NhbGU7CglmbG9hdDIgcGFyYW1fMTIgPSB1X2NpcmNsZTNfUzFfYzA7CglmbG9hdDIgcGFyYW1fMTMgPSB1X3JvdGF0aW9uM19TMV9jMDsKCWZsb2F0IHBhcmFtXzE0ID0gMC4yNzU7CglmbG9hdCBfMzQ0ID0gRkxUX2ZsdXR0ZXJfbG9jYWxfY2lyY2xlX2dyaWRfUzFfYzAocGFyYW1fMTAsIHBhcmFtXzExLCBwYXJhbV8xMiwgcGFyYW1fMTMsIHBhcmFtXzE0KTsKCWZsb2F0IGczID0gXzM0NDsKCWZsb2F0IHYgPSAoKGcxICogZzEgKyBnMikgLSBnMykgKiAwLjU7CglyZXR1cm4gY2xhbXAoMC40NSArIDAuOCAqIHYsIDAuMCwgMS4wKTsKfQpmbG9hdCBGTFRfZmx1dHRlcl9sb2NhbF9zb2Z0X3JpbmdfUzFfYzAoZmxvYXQyIHV2LCBmbG9hdDIgeHksIGZsb2F0IHJhZGl1cywgZmxvYXQgdGhpY2tuZXNzLCBmbG9hdCBibHVyKSAKewoJZmxvYXQyIHBhcmFtID0gdXY7CglmbG9hdDIgcGFyYW1fMSA9IHh5OwoJZmxvYXQgcGFyYW1fMiA9IHJhZGl1cyArIHRoaWNrbmVzczsKCWZsb2F0IHBhcmFtXzMgPSBibHVyOwoJZmxvYXQgY2lyY2xlX291dGVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW0sIHBhcmFtXzEsIHBhcmFtXzIsIHBhcmFtXzMpOwoJZmxvYXQyIHBhcmFtXzQgPSB1djsKCWZsb2F0MiBwYXJhbV81ID0geHk7CglmbG9hdCBwYXJhbV82ID0gbWF4KHJhZGl1cyAtIHRoaWNrbmVzcywgMC4wKTsKCWZsb2F0IHBhcmFtXzcgPSBibHVyOwoJZmxvYXQgY2lyY2xlX2lubmVyID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9jaXJjbGVfUzFfYzAocGFyYW1fNCwgcGFyYW1fNSwgcGFyYW1fNiwgcGFyYW1fNyk7CglyZXR1cm4gY2xhbXAoY2lyY2xlX291dGVyIC0gY2lyY2xlX2lubmVyLCAwLjAsIDEuMCk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfdHJpYW5nbGVfbm9pc2VfUzFfYzAoaW5vdXQgZmxvYXQyIG4pIAp7CgluID0gZnJhY3QobiAqIGZsb2F0Mig1LjM5ODcsIDUuNDQyMSkpOwoJbiArPSBmbG9hdDIoZG90KG4ueXgsIG4gKyBmbG9hdDIoMjEuNTM1MSwgMTQuMzEzNykpKTsKCWZsb2F0IHh5ID0gbi54ICogbi55OwoJcmV0dXJuIChmcmFjdCh4eSAqIDk1LjQzMDcpICsgZnJhY3QoeHkgKiA3NS4wNDk2MSkpIC0gMS4wOwp9CmZsb2F0IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChmbG9hdCB2LCBmbG9hdCBsLCBmbG9hdCBoKSAKewoJcmV0dXJuIHN0ZXAobCwgdikgKiAoMS4wIC0gc3RlcChoLCB2KSk7Cn0KZmxvYXQgRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChmbG9hdDIgdXYsIGZsb2F0IHQpIAp7CglmbG9hdDIgcGFyYW0gPSB1djsKCWZsb2F0IF8yNDIgPSBGTFRfZmx1dHRlcl9sb2NhbF90cmlhbmdsZV9ub2lzZV9TMV9jMChwYXJhbSk7CglmbG9hdCBuID0gXzI0MjsKCWZsb2F0IHBhcmFtXzEgPSBuOwoJZmxvYXQgcGFyYW1fMiA9IDAuMDsKCWZsb2F0IHBhcmFtXzMgPSAwLjA1OwoJZmxvYXQgcyA9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV8xLCBwYXJhbV8yLCBwYXJhbV8zKTsKCWZsb2F0IHBhcmFtXzQgPSBuICsgc2luKDMuMTQxNTkyNzQgKiAodCArIDAuMzUpKTsKCWZsb2F0IHBhcmFtXzUgPSAwLjE7CglmbG9hdCBwYXJhbV82ID0gMC4xNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzQsIHBhcmFtXzUsIHBhcmFtXzYpOwoJZmxvYXQgcGFyYW1fNyA9IG4gKyBzaW4oMy4xNDE1OTI3NCAqICh0ICsgMC43KSk7CglmbG9hdCBwYXJhbV84ID0gMC4yOwoJZmxvYXQgcGFyYW1fOSA9IDAuMjU7CglzICs9IEZMVF9mbHV0dGVyX2xvY2FsX3RocmVzaG9sZF9TMV9jMChwYXJhbV83LCBwYXJhbV84LCBwYXJhbV85KTsKCWZsb2F0IHBhcmFtXzEwID0gbiArIHNpbigzLjE0MTU5Mjc0ICogKHQgKyAxLjA1KSk7CglmbG9hdCBwYXJhbV8xMSA9IDAuMzsKCWZsb2F0IHBhcmFtXzEyID0gMC4zNTsKCXMgKz0gRkxUX2ZsdXR0ZXJfbG9jYWxfdGhyZXNob2xkX1MxX2MwKHBhcmFtXzEwLCBwYXJhbV8xMSwgcGFyYW1fMTIpOwoJcmV0dXJuIGNsYW1wKHMsIDAuMCwgMS4wKSAqIDAuNTU7Cn0Kdm9pZCBGTFRfbWFpbl9TMV9jMCgpIAp7Cgl1X2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC54OwoJdV9zcGFya2xlX2FscGhhX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC55OwoJdV9ibHVyX1MxX2MwID0gdV9jb21wb3NpdGVfMV9TMV9jMC56OwoJdV9yYWRpdXNfc2NhbGVfUzFfYzAgPSB1X2NvbXBvc2l0ZV8xX1MxX2MwLnc7CglmbG9hdDIgcCA9IEZMVF9mbHV0dGVyX2xvY2FsX0ZsdXR0ZXJGcmFnQ29vcmRfUzFfYzAoKTsKCWZsb2F0MiB1dl8xID0gcCAqIHVfcmVzb2x1dGlvbl9zY2FsZV9TMV9jMDsKCWZsb2F0MiBkZW5zaXR5X3V2ID0gdXZfMSAtIG1vZChwLCB1X25vaXNlX3NjYWxlX1MxX2MwKTsKCWZsb2F0IHJhZGl1cyA9IHVfbWF4X3JhZGl1c19TMV9jMCAqIHVfcmFkaXVzX3NjYWxlX1MxX2MwOwoJZmxvYXQyIHBhcmFtXzEzID0gdXZfMTsKCWZsb2F0IHR1cmJ1bGVuY2UgPSBGTFRfZmx1dHRlcl9sb2NhbF90dXJidWxlbmNlX1MxX2MwKHBhcmFtXzEzKTsKCWZsb2F0MiBwYXJhbV8xNCA9IHA7CglmbG9hdDIgcGFyYW1fMTUgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzE2ID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMTcgPSAwLjA1ICogdV9tYXhfcmFkaXVzX1MxX2MwOwoJZmxvYXQgcGFyYW1fMTggPSB1X2JsdXJfUzFfYzA7CglmbG9hdCByaW5nID0gRkxUX2ZsdXR0ZXJfbG9jYWxfc29mdF9yaW5nX1MxX2MwKHBhcmFtXzE0LCBwYXJhbV8xNSwgcGFyYW1fMTYsIHBhcmFtXzE3LCBwYXJhbV8xOCk7CglmbG9hdDIgcGFyYW1fMTkgPSBkZW5zaXR5X3V2OwoJZmxvYXQgcGFyYW1fMjAgPSB1X25vaXNlX3BoYXNlX1MxX2MwOwoJZmxvYXQgc3BhcmtsZSA9ICgoRkxUX2ZsdXR0ZXJfbG9jYWxfc3BhcmtsZV9TMV9jMChwYXJhbV8xOSwgcGFyYW1fMjApICogcmluZykgKiB0dXJidWxlbmNlKSAqIHVfc3BhcmtsZV9hbHBoYV9TMV9jMDsKCWZsb2F0MiBwYXJhbV8yMSA9IHA7CglmbG9hdDIgcGFyYW1fMjIgPSB1X2NlbnRlcl9TMV9jMDsKCWZsb2F0IHBhcmFtXzIzID0gcmFkaXVzOwoJZmxvYXQgcGFyYW1fMjQgPSB1X2JsdXJfUzFfYzA7CglmbG9hdCB3YXZlX2FscGhhID0gKEZMVF9mbHV0dGVyX2xvY2FsX3NvZnRfY2lyY2xlX1MxX2MwKHBhcmFtXzIxLCBwYXJhbV8yMiwgcGFyYW1fMjMsIHBhcmFtXzI0KSAqIHVfYWxwaGFfUzFfYzApICogdV9jb2xvcl9TMV9jMC53OwoJZmxvYXQ0IHdhdmVfY29sb3IgPSBmbG9hdDQodV9jb2xvcl9TMV9jMC54eXogKiB3YXZlX2FscGhhLCB3YXZlX2FscGhhKTsKCWZyYWdDb2xvcl9TMV9jMCA9IG1peCh3YXZlX2NvbG9yLCBmbG9hdDQoMS4wKSwgZmxvYXQ0KHNwYXJrbGUpKTsKfQpoYWxmNCBydW50aW1lX3NoYWRlcl9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CglmbHV0dGVyX0ZyYWdDb29yZF9TMV9jMCA9IGZsb2F0NChfdG1wXzFfY29vcmRzLCAwLjAsIDAuMCk7CglGTFRfbWFpbl9TMV9jMCgpOwoJcmV0dXJuIGhhbGY0KGhhbGY0KGZyYWdDb2xvcl9TMV9jMCkpOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMShoYWxmNCBfaW5wdXQpIAp7CglyZXR1cm4gcnVudGltZV9zaGFkZXJfUzFfYzAoX2lucHV0KTsKfQpoYWxmNCBDaXJjdWxhclJSZWN0X1MyKGhhbGY0IF9pbnB1dCkgCnsKCWZsb2F0IGR5MCA9IHVpbm5lclJlY3RfUzIuVCAtIHNrX0ZyYWdDb29yZC55OwoJZmxvYXQyIGR4eTEgPSBza19GcmFnQ29vcmQueHkgLSB1aW5uZXJSZWN0X1MyLlJCOwoJZmxvYXQyIGR4eSA9IG1heChmbG9hdDIoZHh5MS54LCBtYXgoZHkwLCBkeHkxLnkpKSwgMC4wKTsKCWhhbGYgbGVmdEFscGhhID0gaGFsZihzYXR1cmF0ZShza19GcmFnQ29vcmQueCAtIHVpbm5lclJlY3RfUzIuTCkpOwoJaGFsZiBhbHBoYSA9IGxlZnRBbHBoYSAqIGhhbGYoc2F0dXJhdGUodXJhZGl1c1BsdXNIYWxmX1MyLnggLSBsZW5ndGgoZHh5KSkpOwoJcmV0dXJuIF9pbnB1dCAqIGFscGhhOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2Y29sb3JfUzA7CglmbG9hdCBjb3ZlcmFnZSA9IHZjb3ZlcmFnZV9TMDsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoY292ZXJhZ2UpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCWhhbGY0IG91dHB1dF9TMjsKCW91dHB1dF9TMiA9IENpcmN1bGFyUlJlY3RfUzIob3V0cHV0Q292ZXJhZ2VfUzApOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dF9TMSAqIG91dHB1dF9TMjsKCX0KfQoBAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABwb3NpdGlvbggAAABjb3ZlcmFnZQUAAABjb2xvcgAAAAoAAABsb2NhbENvb3JkAAAAAAAA","HTQAAGAABBYAAAEIXBAAAGEAMAAAAAAAAAAAAAAAQAHAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M/AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5RdWFkRWRnZTsKb3V0IGZsb2F0NCB2UXVhZEVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZEVkZ2UKCXZRdWFkRWRnZV9TMCA9IGluUXVhZEVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBfdG1wXzBfaW5Qb3NpdGlvbi54eTAxOwp9CgAEAAAABQMAAGluIGZsb2F0NCB2UXVhZEVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZEVkZ2UKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGYgZWRnZUFscGhhOwoJaGFsZjIgZHV2ZHggPSBoYWxmMihkRmR4KHZRdWFkRWRnZV9TMC54eSkpOwoJaGFsZjIgZHV2ZHkgPSBoYWxmMihkRmR5KHZRdWFkRWRnZV9TMC54eSkpOwoJaWYgKHZRdWFkRWRnZV9TMC56ID4gMC4wICYmIHZRdWFkRWRnZV9TMC53ID4gMC4wKSAKCXsKCQllZGdlQWxwaGEgPSBoYWxmKG1pbihtaW4odlF1YWRFZGdlX1MwLnosIHZRdWFkRWRnZV9TMC53KSArIDAuNSwgMS4wKSk7Cgl9CgllbHNlIAoJewoJCWhhbGYyIGdGID0gaGFsZjIoaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHgueCAtIGR1dmR4LnkpLCAgICAgICAgICAgICAgICAgaGFsZigyLjAqdlF1YWRFZGdlX1MwLngqZHV2ZHkueCAtIGR1dmR5LnkpKTsKCQllZGdlQWxwaGEgPSBoYWxmKHZRdWFkRWRnZV9TMC54KnZRdWFkRWRnZV9TMC54IC0gdlF1YWRFZGdlX1MwLnkpOwoJCWVkZ2VBbHBoYSA9IHNhdHVyYXRlKDAuNSAtIGVkZ2VBbHBoYSAvIGxlbmd0aChnRikpOwoJfQoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNChlZGdlQWxwaGEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IACgAAAGluUXVhZEVkZ2UAAAAAAAA=","HVIAAAAAABIAAGAAAQ4AAAH477776R24EAAAIOBQAD6P7777777777YDAAAAAAAAAAAFIBS2VD3EOCAAAAAABUXHIMAQAAAAWSQ4HO4SAAAAAMAAAAAEBUEFLMJAIAAAQCI6KVAYAAAAAAAAAAAQAAAADEA2JT4HAIAAAADIIODXOJIBAAAGAAAAACAKAC5XEQEAAAAAEPF2SMAAAAAAAAIAAAADFUUGB3XUUAQAADAAAAAAABARO3SJCAAAAACGSZJWCAAAAAAAIAAAABSFBUEFLMJAIAAAAAAAAAEACUMVSTUFAEAAAAAIAAAABEFBSHSVIGAAAAAAAAAAACABKBAABAAAAAFAEEQCEAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAA":"DAAAAExTS1OGAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBoYWxmNCBjb2xvcjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7CmZsYXQgb3V0IGhhbGY0IHZjb2xvcl9TMDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgl2Y29sb3JfUzAgPSBjb2xvcjsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKCXsKCQl2VHJhbnNmb3JtZWRDb29yZHNfNl9TMCA9IGZsb2F0M3gyKHVtYXRyaXhfUzFfYzBfYzBfYzEpICogbG9jYWxDb29yZC54eTE7Cgl9Cn0KAAABAAAAHQkAAHVuaWZvcm0gaGFsZjQgdXN0YXJ0X1MxX2MwX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVlbmRfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMF9jMTsKdW5pZm9ybSBoYWxmNCB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGhhbGY0IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwp1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzFfYzE7CnVuaWZvcm0gaGFsZiB1cmFuZ2VfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKZmxhdCBpbiBoYWxmNCB2Y29sb3JfUzA7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfNl9TMDsKaGFsZjQgU2luZ2xlSW50ZXJ2YWxDb2xvcml6ZXJfUzFfYzBfYzBfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJZmxvYXQyIF90bXBfMV9jb29yZHMgPSBfY29vcmRzOwoJcmV0dXJuIGhhbGY0KG1peCh1c3RhcnRfUzFfYzBfYzBfYzAsIHVlbmRfUzFfYzBfYzBfYzAsIGhhbGYoX3RtcF8xX2Nvb3Jkcy54KSkpOwp9CmhhbGY0IExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzJfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzNfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzZfUzA7CglyZXR1cm4gaGFsZjQoaGFsZjQoaGFsZihfdG1wXzNfY29vcmRzLngpICsgMWUtMDUsIDEuMCwgMC4wLCAwLjApKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIExpbmVhckxheW91dF9TMV9jMF9jMF9jMV9jMChfaW5wdXQpOwp9CmhhbGY0IENsYW1wZWRHcmFkaWVudF9TMV9jMF9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzRfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IHQgPSBNYXRyaXhFZmZlY3RfUzFfYzBfYzBfYzEoX3RtcF80X2luQ29sb3IpOwoJaGFsZjQgb3V0Q29sb3I7CglpZiAoIWJvb2woaW50KDEpKSAmJiB0LnkgPCAwLjApIAoJewoJCW91dENvbG9yID0gaGFsZjQoMC4wKTsKCX0KCWVsc2UgaWYgKHQueCA8IDAuMCkgCgl7CgkJb3V0Q29sb3IgPSB1bGVmdEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSBpZiAodC54ID4gMS4wKSAKCXsKCQlvdXRDb2xvciA9IHVyaWdodEJvcmRlckNvbG9yX1MxX2MwX2MwOwoJfQoJZWxzZSAKCXsKCQlvdXRDb2xvciA9IFNpbmdsZUludGVydmFsQ29sb3JpemVyX1MxX2MwX2MwX2MwKF90bXBfNF9pbkNvbG9yLCBmbG9hdDIoaGFsZjIodC54LCAwLjApKSk7Cgl9CglyZXR1cm4gaGFsZjQob3V0Q29sb3IpOwp9CmhhbGY0IERpc2FibGVDb3ZlcmFnZUFzQWxwaGFfUzFfYzAoaGFsZjQgX2lucHV0KSAKewoJX2lucHV0ID0gQ2xhbXBlZEdyYWRpZW50X1MxX2MwX2MwKF9pbnB1dCk7CgloYWxmNCBfdG1wXzVfaW5Db2xvciA9IF9pbnB1dDsKCXJldHVybiBoYWxmNChfaW5wdXQpOwp9CmhhbGY0IFRleHR1cmVFZmZlY3RfUzFfYzFfYzAoaGFsZjQgX2lucHV0LCBmbG9hdDIgX2Nvb3JkcykgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIF9jb29yZHMpLjAwMHI7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxX2MxKGhhbGY0IF9pbnB1dCwgZmxvYXQyIF9jb29yZHMpIAp7CglyZXR1cm4gVGV4dHVyZUVmZmVjdF9TMV9jMV9jMChfaW5wdXQsIGZsb2F0M3gyKHVtYXRyaXhfUzFfYzEpICogX2Nvb3Jkcy54eTEpOwp9CmhhbGY0IERpdGhlcl9TMShoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzZfaW5Db2xvciA9IF9pbnB1dDsKCWhhbGY0IGNvbG9yID0gRGlzYWJsZUNvdmVyYWdlQXNBbHBoYV9TMV9jMChfdG1wXzZfaW5Db2xvcik7CgloYWxmIHZhbHVlID0gTWF0cml4RWZmZWN0X1MxX2MxKF90bXBfNl9pbkNvbG9yLCBza19GcmFnQ29vcmQueHkpLncgLSAwLjU7CglyZXR1cm4gaGFsZjQoaGFsZjQoY2xhbXAoY29sb3IueHl6ICsgdmFsdWUgKiB1cmFuZ2VfUzEsIDAuMCwgY29sb3IudyksIGNvbG9yLncpKTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmNvbG9yX1MwOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IERpdGhlcl9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAcG9zaXRpb24FAAAAY29sb3IAAAAKAAAAbG9jYWxDb29yZAAAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAAAAAAAqQEAAHNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBCaXRtYXBUZXh0CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApLnJycnI7Cgl9CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IHRleENvbG9yOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADwAAAGluVGV4dHVyZUNvb3JkcwAAAAAA","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAUDGK2HJ2AAAAAAAIAEAAAABSGQUAGC2HJ2AAAAAAAIAEAAAABLBCABAAAAABAEGABBAMAAACAAAAAAAOQAAAAAAAQAAAABAMQAAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAAGgHAABjb25zdCBpbnQga01heExvb3BMaW1pdF9TMV9jMCA9IDg7CnVuaWZvcm0gaGFsZjQgdWJvcmRlcl9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdXN1YnNldF9TMV9jMF9jMF9jMDsKdW5pZm9ybSBmbG9hdDQgdWNsYW1wX1MxX2MwX2MwX2MwOwp1bmlmb3JtIGZsb2F0MiB1aWRpbXNfUzFfYzBfYzBfYzA7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMV9jMF9jMDsKdW5pZm9ybSBoYWxmNCB1b2Zmc2V0c0FuZEtlcm5lbF9TMV9jMFsxNF07CnVuaWZvcm0gaGFsZjIgdWRpcl9TMV9jMDsKdW5pZm9ybSBmbG9hdDN4MyB1bWF0cml4X1MxOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzE7CmluIGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKaGFsZjQgVGV4dHVyZUVmZmVjdF9TMV9jMF9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJZmxvYXQyIGluQ29vcmQgPSBfY29vcmRzOwoJZmxvYXQyIHN1YnNldENvb3JkOwoJc3Vic2V0Q29vcmQueCA9IGluQ29vcmQueDsKCXN1YnNldENvb3JkLnkgPSBpbkNvb3JkLnk7CglmbG9hdDIgY2xhbXBlZENvb3JkOwoJY2xhbXBlZENvb3JkLnggPSBzdWJzZXRDb29yZC54OwoJY2xhbXBlZENvb3JkLnkgPSBjbGFtcChzdWJzZXRDb29yZC55LCB1Y2xhbXBfUzFfYzBfYzBfYzAueSwgdWNsYW1wX1MxX2MwX2MwX2MwLncpOwoJaGFsZjQgdGV4dHVyZUNvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MxLCAoY2xhbXBlZENvb3JkKSAqIHVpZGltc19TMV9jMF9jMF9jMCk7CgloYWxmIGVyclkgPSBoYWxmKHN1YnNldENvb3JkLnkgLSBjbGFtcGVkQ29vcmQueSk7Cgl0ZXh0dXJlQ29sb3IgPSBtaXgodGV4dHVyZUNvbG9yLCB1Ym9yZGVyX1MxX2MwX2MwX2MwLCBtaW4oYWJzKGVyclkpLCAxKSk7CglyZXR1cm4gdGV4dHVyZUNvbG9yOwp9CmhhbGY0IE1hdHJpeEVmZmVjdF9TMV9jMF9jMChoYWxmNCBfaW5wdXQsIGZsb2F0MiBfY29vcmRzKSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzBfYzBfYzAoX2lucHV0LCBmbG9hdDN4Mih1bWF0cml4X1MxX2MwX2MwKSAqIF9jb29yZHMueHkxKTsKfQpoYWxmNCBHYXVzc2lhbkJsdXIxRF9TMV9jMChoYWxmNCBfaW5wdXQpIAp7CgloYWxmNCBfdG1wXzBfaW5Db2xvciA9IF9pbnB1dDsKCWZsb2F0MiBfdG1wXzFfY29vcmRzID0gdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzA7CgloYWxmNCBzdW0gPSBoYWxmNCgwLjApOwoJZm9yIChpbnQgaSA9IDA7aSA8IGtNYXhMb29wTGltaXRfUzFfYzA7ICsraSkgCgl7CgkJaGFsZjQgcyA9IHVvZmZzZXRzQW5kS2VybmVsX1MxX2MwW2ldOwoJCXN1bSArPSBzLnkgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy54ICogdWRpcl9TMV9jMCkpOwoJCXN1bSArPSBzLncgKiBNYXRyaXhFZmZlY3RfUzFfYzBfYzAoX3RtcF8wX2luQ29sb3IsIF90bXBfMV9jb29yZHMgKyBmbG9hdDIocy56ICogdWRpcl9TMV9jMCkpOwoJfQoJcmV0dXJuIGhhbGY0KHN1bSk7Cn0KaGFsZjQgTWF0cml4RWZmZWN0X1MxKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBHYXVzc2lhbkJsdXIxRF9TMV9jMChfaW5wdXQpOwp9CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJaGFsZjQgb3V0cHV0X1MxOwoJb3V0cHV0X1MxID0gTWF0cml4RWZmZWN0X1MxKG91dHB1dENvbG9yX1MwKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRfUzEgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAABwb3NpdGlvbgoAAABsb2NhbENvb3JkAAAAAAAA","DASAAAAAAAAAAAEAAFQAAIGAAEAOB77776PUEAIBAAAAAABAAAAAAABAMQAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1PVAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwp2b2lkIG1haW4oKSAKewoJLy8gUHJpbWl0aXZlIFByb2Nlc3NvciBCaXRtYXBUZXh0CglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc1NpemVJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gaW5Qb3NpdGlvbi54eTAxOwp9CgAAAAAAAADYAQAAdW5pZm9ybSBoYWxmNCB1Q29sb3JfUzA7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMDsKaW4gZmxvYXQyIHZUZXh0dXJlQ29vcmRzX1MwOwpmbGF0IGluIGZsb2F0IHZUZXhJbmRleF9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB1Q29sb3JfUzA7CgloYWxmNCB0ZXhDb2xvcjsKCXsKCQl0ZXhDb2xvciA9IHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdlRleHR1cmVDb29yZHNfUzApOwoJfQoJb3V0cHV0Q29sb3JfUzAgPSBvdXRwdXRDb2xvcl9TMCAqIHRleENvbG9yOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAGluUG9zaXRpb24AAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","DAQAAAAAAAAAAAAAAJQAAIGAAEACBYQCAGAEFAIBAAAAAABAAAAAAAAAAAACAA6QAAAABYCTIUIE4AIAAAYAAAAAQAAAAAEART4FIEMEKMAAAAAMAAAAAAAAAAAABIADAAAAAIAAAAAAAIIDAAAA":"DAAAAExTS1MWAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc1NpemVJbnZfUzA7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIEJpdG1hcFRleHQKCWludCB0ZXhJZHggPSAwOwoJZmxvYXQyIHVub3JtVGV4Q29vcmRzID0gZmxvYXQyKGluVGV4dHVyZUNvb3Jkcy54LCBpblRleHR1cmVDb29yZHMueSk7Cgl2VGV4dHVyZUNvb3Jkc19TMCA9IHVub3JtVGV4Q29vcmRzICogdUF0bGFzU2l6ZUludl9TMDsKCXZUZXhJbmRleF9TMCA9IGZsb2F0KHRleElkeCk7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8xX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJc2tfUG9zaXRpb24gPSBpblBvc2l0aW9uLnh5MDE7Cn0KAAABAAAAPQUAAGNvbnN0IGludCBrRmlsbEJXX1MxX2MwID0gMDsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEJXX1MxX2MwID0gMjsKY29uc3QgaW50IGtJbnZlcnNlRmlsbEFBX1MxX2MwID0gMzsKdW5pZm9ybSBmbG9hdDQgdXJlY3RVbmlmb3JtX1MxX2MwOwpzYW1wbGVyMkQgdVRleHR1cmVTYW1wbGVyXzBfUzA7CmluIGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBpbiBmbG9hdCB2VGV4SW5kZXhfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwpoYWxmNCBSZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCWhhbGY0IF90bXBfMF9pbkNvbG9yID0gX2lucHV0OwoJaGFsZiBjb3ZlcmFnZTsKCWlmIChpbnQoMSkgPT0ga0ZpbGxCV19TMV9jMCB8fCBpbnQoMSkgPT0ga0ludmVyc2VGaWxsQldfUzFfYzApIAoJewoJCWNvdmVyYWdlID0gaGFsZihhbGwoZ3JlYXRlclRoYW4oZmxvYXQ0KHNrX0ZyYWdDb29yZC54eSwgdXJlY3RVbmlmb3JtX1MxX2MwLnp3KSwgZmxvYXQ0KHVyZWN0VW5pZm9ybV9TMV9jMC54eSwgc2tfRnJhZ0Nvb3JkLnh5KSkpKTsKCX0KCWVsc2UgCgl7CgkJaGFsZjQgZGlzdHM0ID0gc2F0dXJhdGUoaGFsZjQoMS4wLCAxLjAsIC0xLjAsIC0xLjApICogaGFsZjQoc2tfRnJhZ0Nvb3JkLnh5eHkgLSB1cmVjdFVuaWZvcm1fUzFfYzApKTsKCQloYWxmMiBkaXN0czIgPSAoZGlzdHM0Lnh5ICsgZGlzdHM0Lnp3KSAtIDEuMDsKCQljb3ZlcmFnZSA9IGRpc3RzMi54ICogZGlzdHMyLnk7Cgl9CglpZiAoaW50KDEpID09IGtJbnZlcnNlRmlsbEJXX1MxX2MwIHx8IGludCgxKSA9PSBrSW52ZXJzZUZpbGxBQV9TMV9jMCkgCgl7CgkJY292ZXJhZ2UgPSAxLjAgLSBjb3ZlcmFnZTsKCX0KCXJldHVybiBoYWxmNChoYWxmNChjb3ZlcmFnZSkpOwp9CmhhbGY0IEJsZW5kX1MxKGhhbGY0IF9zcmMsIGhhbGY0IF9kc3QpIAp7CglyZXR1cm4gYmxlbmRfbW9kdWxhdGUoUmVjdF9TMV9jMChfc3JjKSwgX3NyYyk7Cn0Kdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIEJpdG1hcFRleHQKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWhhbGY0IHRleENvbG9yOwoJewoJCXRleENvbG9yID0gc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB2VGV4dHVyZUNvb3Jkc19TMCkucnJycjsKCX0KCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gdGV4Q29sb3I7CgloYWxmNCBvdXRwdXRfUzE7CglvdXRwdXRfUzEgPSBCbGVuZF9TMShvdXRwdXRDb3ZlcmFnZV9TMCwgaGFsZjQoMSkpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0X1MxOwoJfQp9CgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA==","AYTRVAADQAAAOAEARAFQJAABBADAAAILBYAACCYUQD777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQ0IHVsb2NhbE1hdHJpeF9TMDsKaW4gZmxvYXQyIGluUG9zaXRpb247CmluIGhhbGY0IGluQ29sb3I7CmluIGZsb2F0NCBpbkNpcmNsZUVkZ2U7CmluIGhhbGYzIGluQ2xpcFBsYW5lOwppbiBoYWxmMyBpbklzZWN0UGxhbmU7Cm91dCBmbG9hdDQgdmluQ2lyY2xlRWRnZV9TMDsKb3V0IGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKb3V0IGhhbGYzIHZpbklzZWN0UGxhbmVfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5DbGlwUGxhbmVfUzAgPSBpbkNsaXBQbGFuZTsKCXZpbklzZWN0UGxhbmVfUzAgPSBpbklzZWN0UGxhbmU7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMV9pblBvc2l0aW9uID0gdWxvY2FsTWF0cml4X1MwLnh6ICogaW5Qb3NpdGlvbiArIHVsb2NhbE1hdHJpeF9TMC55dzsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADdAwAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGYzIHZpbkNsaXBQbGFuZV9TMDsKaW4gaGFsZjMgdmluSXNlY3RQbGFuZV9TMDsKaW4gaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBDaXJjbGVHZW9tZXRyeVByb2Nlc3NvcgoJZmxvYXQ0IGNpcmNsZUVkZ2U7CgljaXJjbGVFZGdlID0gdmluQ2lyY2xlRWRnZV9TMDsKCWhhbGYzIGNsaXBQbGFuZTsKCWNsaXBQbGFuZSA9IHZpbkNsaXBQbGFuZV9TMDsKCWhhbGYzIGlzZWN0UGxhbmU7Cglpc2VjdFBsYW5lID0gdmluSXNlY3RQbGFuZV9TMDsKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0IGQgPSBsZW5ndGgoY2lyY2xlRWRnZS54eSk7CgloYWxmIGRpc3RhbmNlVG9PdXRlckVkZ2UgPSBoYWxmKGNpcmNsZUVkZ2UueiAqICgxLjAgLSBkKSk7CgloYWxmIGVkZ2VBbHBoYSA9IHNhdHVyYXRlKGRpc3RhbmNlVG9PdXRlckVkZ2UpOwoJaGFsZiBkaXN0YW5jZVRvSW5uZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoZCAtIGNpcmNsZUVkZ2UudykpOwoJaGFsZiBpbm5lckFscGhhID0gc2F0dXJhdGUoZGlzdGFuY2VUb0lubmVyRWRnZSk7CgllZGdlQWxwaGEgKj0gaW5uZXJBbHBoYTsKCWhhbGYgY2xpcCA9IGhhbGYoc2F0dXJhdGUoY2lyY2xlRWRnZS56ICogZG90KGNpcmNsZUVkZ2UueHksIGNsaXBQbGFuZS54eSkgKyBjbGlwUGxhbmUueikpOwoJY2xpcCAqPSBoYWxmKHNhdHVyYXRlKGNpcmNsZUVkZ2UueiAqIGRvdChjaXJjbGVFZGdlLnh5LCBpc2VjdFBsYW5lLnh5KSArIGlzZWN0UGxhbmUueikpOwoJZWRnZUFscGhhICo9IGNsaXA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGVkZ2VBbHBoYSk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0Q29sb3JfUzAgKiBvdXRwdXRDb3ZlcmFnZV9TMDsKCX0KfQoAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAABpblBvc2l0aW9uAAAHAAAAaW5Db2xvcgAMAAAAaW5DaXJjbGVFZGdlCwAAAGluQ2xpcFBsYW5lAAwAAABpbklzZWN0UGxhbmUAAAAA","HWJQAAAAABEAADAAAIOAAAAADIIAB7X7777QGHAYAD7P7777A4QCQAAAAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1OaAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQgY292ZXJhZ2U7CmluIGZsb2F0MiBsb2NhbENvb3JkOwppbiBmbG9hdDQgdGV4U3Vic2V0OwpvdXQgZmxvYXQyIHZsb2NhbENvb3JkX1MwOwpmbGF0IG91dCBmbG9hdDQgdnRleFN1YnNldF9TMDsKb3V0IGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglmbG9hdDIgcG9zaXRpb24gPSBwb3NpdGlvbi54eTsKCXZsb2NhbENvb3JkX1MwID0gbG9jYWxDb29yZDsKCXZ0ZXhTdWJzZXRfUzAgPSB0ZXhTdWJzZXQ7Cgl2Y292ZXJhZ2VfUzAgPSBjb3ZlcmFnZTsKCXNrX1Bvc2l0aW9uID0gcG9zaXRpb24ueHkwMTsKfQoAAAAAAABWAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CmZsYXQgaW4gZmxvYXQ0IHZ0ZXhTdWJzZXRfUzA7CmluIGZsb2F0IHZjb3ZlcmFnZV9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFN0YWdlIDAsIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJaGFsZjQgb3V0cHV0Q29sb3JfUzAgPSBoYWxmNCgxKTsKCWZsb2F0MiB0ZXhDb29yZDsKCXRleENvb3JkID0gdmxvY2FsQ29vcmRfUzA7CglmbG9hdDQgc3Vic2V0OwoJc3Vic2V0ID0gdnRleFN1YnNldF9TMDsKCXRleENvb3JkID0gY2xhbXAodGV4Q29vcmQsIHN1YnNldC5MVCwgc3Vic2V0LlJCKTsKCW91dHB1dENvbG9yX1MwID0gKGJsZW5kX21vZHVsYXRlKHNhbXBsZSh1VGV4dHVyZVNhbXBsZXJfMF9TMCwgdGV4Q29vcmQpLCBoYWxmNCgxKSkpOwoJZmxvYXQgY292ZXJhZ2UgPSB2Y292ZXJhZ2VfUzA7CgloYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KGNvdmVyYWdlKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAcG9zaXRpb24IAAAAY292ZXJhZ2UKAAAAbG9jYWxDb29yZAAACQAAAHRleFN1YnNldAAAAAAAAAA=","HUJAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAQAAAAAAQQGACQAGAAAAAQAAAAAAAQQGAAA":"DAAAAExTS1PlAAAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBwb3NpdGlvbjsKaW4gZmxvYXQyIGxvY2FsQ29vcmQ7Cm91dCBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIFF1YWRQZXJFZGdlQUFHZW9tZXRyeVByb2Nlc3NvcgoJdmxvY2FsQ29vcmRfUzAgPSBsb2NhbENvb3JkOwoJc2tfUG9zaXRpb24gPSBwb3NpdGlvbi54eTAxOwp9CgAAAAAAAACkAQAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdmxvY2FsQ29vcmRfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBTdGFnZSAwLCBRdWFkUGVyRWRnZUFBR2VvbWV0cnlQcm9jZXNzb3IKCWhhbGY0IG91dHB1dENvbG9yX1MwID0gaGFsZjQoMSk7CglmbG9hdDIgdGV4Q29vcmQ7Cgl0ZXhDb29yZCA9IHZsb2NhbENvb3JkX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSAoYmxlbmRfbW9kdWxhdGUoc2FtcGxlKHVUZXh0dXJlU2FtcGxlcl8wX1MwLCB0ZXhDb29yZCksIGhhbGY0KDEpKSk7Cgljb25zdCBoYWxmNCBvdXRwdXRDb3ZlcmFnZV9TMCA9IGhhbGY0KDEpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAcG9zaXRpb24KAAAAbG9jYWxDb29yZAAAAAAAAA==","AYAA5AADQAAAOAEARAFQJAABBADIB7777777777777777777777767YAAAAAAAAAAAAOQAAAAAAAQAAAABAMQAAAAA":"DAAAAExTS1OCAQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CmluIGZsb2F0MiBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiBmbG9hdDQgaW5DaXJjbGVFZGdlOwpvdXQgZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7Cm91dCBoYWxmNCB2aW5Db2xvcl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCXZpbkNpcmNsZUVkZ2VfUzAgPSBpbkNpcmNsZUVkZ2U7Cgl2aW5Db2xvcl9TMCA9IGluQ29sb3I7CglmbG9hdDIgX3RtcF8wX2luUG9zaXRpb24gPSBpblBvc2l0aW9uOwoJZmxvYXQyIF90bXBfMl9pblBvc2l0aW9uID0gaW5Qb3NpdGlvbjsKCXNrX1Bvc2l0aW9uID0gX3RtcF8wX2luUG9zaXRpb24ueHkwMTsKfQoAAAAAAADqAQAAaW4gZmxvYXQ0IHZpbkNpcmNsZUVkZ2VfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgQ2lyY2xlR2VvbWV0cnlQcm9jZXNzb3IKCWZsb2F0NCBjaXJjbGVFZGdlOwoJY2lyY2xlRWRnZSA9IHZpbkNpcmNsZUVkZ2VfUzA7CgloYWxmNCBvdXRwdXRDb2xvcl9TMDsKCW91dHB1dENvbG9yX1MwID0gdmluQ29sb3JfUzA7CglmbG9hdCBkID0gbGVuZ3RoKGNpcmNsZUVkZ2UueHkpOwoJaGFsZiBkaXN0YW5jZVRvT3V0ZXJFZGdlID0gaGFsZihjaXJjbGVFZGdlLnogKiAoMS4wIC0gZCkpOwoJaGFsZiBlZGdlQWxwaGEgPSBzYXR1cmF0ZShkaXN0YW5jZVRvT3V0ZXJFZGdlKTsKCWhhbGY0IG91dHB1dENvdmVyYWdlX1MwID0gaGFsZjQoZWRnZUFscGhhKTsKCXsKCQkvLyBYZmVyIFByb2Nlc3NvcjogUG9ydGVyIER1ZmYKCQlza19GcmFnQ29sb3IgPSBvdXRwdXRDb2xvcl9TMCAqIG91dHB1dENvdmVyYWdlX1MwOwoJfQp9CgAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAKAAAAaW5Qb3NpdGlvbgAABwAAAGluQ29sb3IADAAAAGluQ2lyY2xlRWRnZQAAAAA=","HUIAAAAAAAQAADAAAIOAAAH677777777777QGHAQAD7P7777777777YBAAAAAAAAAAALUAQAAAAQAAAAGQCBAMQAAAAAAAAAACQAGAAAAAQAAAAAAAQQGAAAAA":"DAAAAExTS1M2AQAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQzeDMgdW1hdHJpeF9TMTsKaW4gZmxvYXQyIHBvc2l0aW9uOwppbiBmbG9hdDIgbG9jYWxDb29yZDsKb3V0IGZsb2F0MiB2VHJhbnNmb3JtZWRDb29yZHNfMl9TMDsKdm9pZCBtYWluKCkgCnsKCS8vIFByaW1pdGl2ZSBQcm9jZXNzb3IgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCglza19Qb3NpdGlvbiA9IHBvc2l0aW9uLnh5MDE7Cgl7CgkJdlRyYW5zZm9ybWVkQ29vcmRzXzJfUzAgPSBmbG9hdDN4Mih1bWF0cml4X1MxKSAqIGxvY2FsQ29vcmQueHkxOwoJfQp9CgAAAAAAADsCAAB1bmlmb3JtIGZsb2F0M3gzIHVtYXRyaXhfUzE7CnNhbXBsZXIyRCB1VGV4dHVyZVNhbXBsZXJfMF9TMTsKaW4gZmxvYXQyIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwOwpoYWxmNCBUZXh0dXJlRWZmZWN0X1MxX2MwKGhhbGY0IF9pbnB1dCkgCnsKCXJldHVybiBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzEsIHZUcmFuc2Zvcm1lZENvb3Jkc18yX1MwKTsKfQpoYWxmNCBNYXRyaXhFZmZlY3RfUzEoaGFsZjQgX2lucHV0KSAKewoJcmV0dXJuIFRleHR1cmVFZmZlY3RfUzFfYzAoX2lucHV0KTsKfQp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgUXVhZFBlckVkZ2VBQUdlb21ldHJ5UHJvY2Vzc29yCgloYWxmNCBvdXRwdXRDb2xvcl9TMCA9IGhhbGY0KDEpOwoJY29uc3QgaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCgxKTsKCWhhbGY0IG91dHB1dF9TMTsKCW91dHB1dF9TMSA9IE1hdHJpeEVmZmVjdF9TMShvdXRwdXRDb2xvcl9TMCk7Cgl7CgkJLy8gWGZlciBQcm9jZXNzb3I6IFBvcnRlciBEdWZmCgkJc2tfRnJhZ0NvbG9yID0gb3V0cHV0X1MxICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAHBvc2l0aW9uCgAAAGxvY2FsQ29vcmQAAAAAAAA=","EADQAAAAAEAAAAAUAABQAAQPAAABCFYMAAKAUEAAAAAAAAABAAAAAAAAAAANAAIAAAABAAAAACAJAAIAAAAA":"DAAAAExTS1NyAgAAdW5pZm9ybSBmbG9hdDQgc2tfUlRBZGp1c3Q7CnVuaWZvcm0gZmxvYXQyIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7CmluIGZsb2F0MyBpblBvc2l0aW9uOwppbiBoYWxmNCBpbkNvbG9yOwppbiB1c2hvcnQyIGluVGV4dHVyZUNvb3JkczsKb3V0IGZsb2F0MiB2VGV4dHVyZUNvb3Jkc19TMDsKZmxhdCBvdXQgZmxvYXQgdlRleEluZGV4X1MwOwpvdXQgZmxvYXQyIHZJbnRUZXh0dXJlQ29vcmRzX1MwOwpvdXQgaGFsZjQgdmluQ29sb3JfUzA7CnZvaWQgbWFpbigpIAp7CgkvLyBQcmltaXRpdmUgUHJvY2Vzc29yIERpc3RhbmNlRmllbGRQYXRoCglpbnQgdGV4SWR4ID0gMDsKCWZsb2F0MiB1bm9ybVRleENvb3JkcyA9IGZsb2F0MihpblRleHR1cmVDb29yZHMueCwgaW5UZXh0dXJlQ29vcmRzLnkpOwoJdlRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkcyAqIHVBdGxhc0RpbWVuc2lvbnNJbnZfUzA7Cgl2VGV4SW5kZXhfUzAgPSBmbG9hdCh0ZXhJZHgpOwoJdkludFRleHR1cmVDb29yZHNfUzAgPSB1bm9ybVRleENvb3JkczsKCXZpbkNvbG9yX1MwID0gaW5Db2xvcjsKCWZsb2F0MyBfdG1wXzFfaW5Qb3NpdGlvbiA9IGluUG9zaXRpb247Cglza19Qb3NpdGlvbiA9IGluUG9zaXRpb24ueHkwejsKfQoAAAAAAACXAgAAc2FtcGxlcjJEIHVUZXh0dXJlU2FtcGxlcl8wX1MwOwppbiBmbG9hdDIgdlRleHR1cmVDb29yZHNfUzA7CmZsYXQgaW4gZmxvYXQgdlRleEluZGV4X1MwOwppbiBmbG9hdDIgdkludFRleHR1cmVDb29yZHNfUzA7CmluIGhhbGY0IHZpbkNvbG9yX1MwOwp2b2lkIG1haW4oKSAKewoJLy8gU3RhZ2UgMCwgRGlzdGFuY2VGaWVsZFBhdGgKCWhhbGY0IG91dHB1dENvbG9yX1MwOwoJb3V0cHV0Q29sb3JfUzAgPSB2aW5Db2xvcl9TMDsKCWZsb2F0MiB1diA9IHZUZXh0dXJlQ29vcmRzX1MwOwoJaGFsZjQgdGV4Q29sb3I7Cgl7CgkJdGV4Q29sb3IgPSBzYW1wbGUodVRleHR1cmVTYW1wbGVyXzBfUzAsIHV2KS5ycnJyOwoJfQoJaGFsZiBkaXN0YW5jZSA9IDcuOTY4NzUqKHRleENvbG9yLnIgLSAwLjUwMTk2MDc4NDMxKTsKCWhhbGYgYWZ3aWR0aDsKCWFmd2lkdGggPSBhYnMoMC42NSpoYWxmKGRGZHgodkludFRleHR1cmVDb29yZHNfUzAueCkpKTsKCWhhbGYgdmFsID0gc21vb3Roc3RlcCgtYWZ3aWR0aCwgYWZ3aWR0aCwgZGlzdGFuY2UpOwoJaGFsZjQgb3V0cHV0Q292ZXJhZ2VfUzAgPSBoYWxmNCh2YWwpOwoJewoJCS8vIFhmZXIgUHJvY2Vzc29yOiBQb3J0ZXIgRHVmZgoJCXNrX0ZyYWdDb2xvciA9IG91dHB1dENvbG9yX1MwICogb3V0cHV0Q292ZXJhZ2VfUzA7Cgl9Cn0KAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAGluUG9zaXRpb24AAAcAAABpbkNvbG9yAA8AAABpblRleHR1cmVDb29yZHMAAAAAAA=="}} \ No newline at end of file From ab92b883b6e6a0ed40e08e7ca9dafa9deb1056e3 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 21 May 2024 22:54:00 +0200 Subject: [PATCH 18/34] minor --- lib/services/app_service.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/services/app_service.dart b/lib/services/app_service.dart index 3ede3fd1c..25295e367 100644 --- a/lib/services/app_service.dart +++ b/lib/services/app_service.dart @@ -114,7 +114,9 @@ class PlatformAppService implements AppService { if (result == null) return {'error': 'cancelled'}; return result.cast(); } on PlatformException catch (e, stack) { - await reportService.recordError(e, stack); + if (e.code != 'edit-resolve') { + await reportService.recordError(e, stack); + } return {'error': e.code}; } } From c4a7969ed7caf6c05c2a24df12422052210346ae Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Wed, 22 May 2024 22:16:42 +0200 Subject: [PATCH 19/34] android compat fix for old devices --- .../deckers/thibault/aves/utils/Compat.kt | 8 +---- .../deckers/thibault/aves/utils/Compat33.kt | 30 +++++++++++++++++++ android/build.gradle | 2 +- android/settings.gradle | 6 ++-- .../aves_platform_meta/android/build.gradle | 4 +-- .../aves_screen_state/android/build.gradle | 4 +-- 6 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat33.kt diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat.kt index 90a9b154f..eea1b08cb 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat.kt @@ -56,13 +56,7 @@ fun Geocoder.getFromLocationCompat( onError: (errorCode: String, errorMessage: String?, errorDetails: Any?) -> Unit, ) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - getFromLocation(latitude, longitude, maxResults, object : Geocoder.GeocodeListener { - override fun onGeocode(addresses: List) = processAddresses(addresses.filterNotNull()) - - override fun onError(errorMessage: String?) { - onError("getAddress-asyncerror", "failed to get address", errorMessage) - } - }) + Compat33.geocoderGetFromLocation(this, latitude, longitude, maxResults, processAddresses, onError) } else { try { @Suppress("deprecation") diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat33.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat33.kt new file mode 100644 index 000000000..537773205 --- /dev/null +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/Compat33.kt @@ -0,0 +1,30 @@ +package deckers.thibault.aves.utils + +import android.location.Address +import android.location.Geocoder +import android.os.Build +import androidx.annotation.RequiresApi + +/** + * Compatibility layer in a separate object to avoid class loading issues on older Android versions. + * e.g. `ClassNotFoundException` for `android.location.Geocoder$GeocodeListener` + */ +@RequiresApi(Build.VERSION_CODES.TIRAMISU) +object Compat33 { + fun geocoderGetFromLocation( + geocoder: Geocoder, + latitude: Double, + longitude: Double, + maxResults: Int, + processAddresses: (addresses: List

  • omA*wX-NnB}8O2#+7ARDS6OZxnn2|5!pF# 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�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

    WWXnwokl6R`h7C>{!-%(H!$hV2tRm+8 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Ν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 ^g?}LtVV*;Lk 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 diff --git a/fastlane/metadata/android/fa/images/phoneScreenshots/3.png b/fastlane/metadata/android/fa/images/phoneScreenshots/3.png index 3a8799c14ab695d9bb2ea79da846448346ef95a0..ab81876aa16f7a7e6b4e8f15f6f1761cb6388f6f 100644 GIT binary patch delta 184765 zcmX6_cRW@98`qGPk-c{)A}gCBO3H|9k8B|$d!Fp9tRg$3=vvvEkR&U~cI}yLLe}rO z-`{`rD(*e!e4gidujhPUCQ4W$iuFba2stP!3T{u};Jm<5zI#W@bL>yLhc9LOQO8uh zM{WG10{PDuoV$}g0)*GwCvkbRM|^a?L^S$7lk>Tw70ceZPi>2@eE)pzzQ5c4euuLP z`T0QkyUEo8CiCm=*49?mvPa#*0BQ%dlUVuM2Ww8b8u#({?EHdgN z{h3`~P=l3oxtz+;{u>`=Hjq6@YmOTM)AG~y`z>F8%A!)Z4Os~I-xd1|-7rR>G*DD| z1L4^`(Wk{cgz=ng%H$E*X-*WXiNymeUuK+sNlp4S@pb8s?&&Buw%p#xmzdDxM1SY8QSnEB&QXus-k@ zg|bjKJNS0x?%lhat0m1EdV1k#^j$^KrP)Y<4~mA2UWbQ#hBdLTUkBx*uNRuM$RV!^ z)bj7%yJvdSGd9EjzOd@V*L$hAo_!iE%*|stpGz^;#HoDo(xt~nn$hovvgzpJIs3B| zd$Wt*rXvg708oaM(o7^Heq#qtcQiz}XuCw~5XJN8{g?(6w^iz>&d-Z+kX z8kD$tvM#CJ>3NGispggXJUl$oSuAz!h&UHliq*`_{o8t8ba?Ta71GA|%f5amnKBFn zAJGw=7G~XV`zO4Xm?nI89=WcKy}>1-R@cy2se7y1@%maq?cpMWvWiN_M;=4JK@@GY zlKY<#0(3;b%`ZOF{YUDQAtX#vo7-K&%M-N}L^S-_g@tKWJ*}Qw?KJlvKIFW5H3aER zmlC$>wsBvdPE6uvTSW_YiA?6 zY8MhyN1GA3kdTnuer*bQ1I~Ri1Iw5K8YvGh)AG^Ht*ylryW+(bJQmigS8;RtzYVC# zDVmzH;gRJ2qEJ=Tz{kg*4rM5|9z$e22C5!0T<7JLcs`GB`QGy2=t$V+$L+7LnC{(v zfhOgM9%3Pe}QUVj^B~Hr>AFZripq9-|x~>CQ8P;u3D4tNE8b~*L-#=H8?0LeX^TSXwn>ziDcyHb;`=hPCW1G!5Oi?bz2cd1xN3}&SFpP zQpU=k@#>iTe4a^vAL=>osHH(2V+!q(X_k(@zL=x+)K@)LIk~yP9+Q4yUxF{f*V9go zo&p3(e);O`LNpFb{e8BY7Z!~orY$Z8Q`3*q5 zr5Bq2%vGkOqAIr^-KMxJCMlV6kJ;pa z*=FwR4}X5yZ|>HkFjkI-6FMKxoskWf(Dl{iYivtU_Ce7@0Vp9`+I zPwp&mch|L0dzIknx3Y(KOxau(k6VpAFi_y#nR1y$2Gu_seLN^prX8=CCY;*#zI0TZ z?XS!16?T95auLo~vcwLGkpxf2*bUdud;jbBI38zyF&Z)3S-f%lcid5W^E3Z?-Kwg7 zwL?#q0$mQ&`0@h!nlE(%#G${3}RW0B_`u-hVqK*FQ zy&}m-5`|p4P*yl_-1X)S)xp8R?8=HV3ialbC+-<-Jf~@;zOt(9XSjd(#KiFHA|fJm zKRsb<3njkF!}E4?(+O^H3r2Ivw0d0alkRx6W1osZ>N^;Ud7QoR(O*x?Z56p`pu{D7WI6Cmi5z`mij05JkM+8JJ-F zFwv=&;1!a0Lnbcf$OSXygxBModrq4f`*C=C^E^WmcNHk-_VbZ zjlJ#Ubn_DF1hjx{`TYG&fekWRhU;F>R519#sF}^7Wp8JPgNJ8x#DfsM z?2^|bVbn1$PQF($dg8%k@@f1`*!I``*||BdKcyWXi#`?&znf6o4!D4~`Gq1TAucYU z-{wn4M_5^z5FF@`N?vh+&AmOv5)U^~6p8>JpOy7dzm~YUTHeBv$1sv zVcQmq|3O?;1D}WpWlsNXRn>K69R}=khk3RAyPzaJF$;|@#?!!Db?Oi%P+jUw`gJmF z^LVBR&Ss)z(UtSG($WhB^ zN+i%O;?~%Iw_ScrR*d z#N9V0FWlDBqC}&S*woZ}_wVC7Hf+(WB=VW|rkUv7M9yVoWPB^Lv!N!VeL3s;SXcM1 zo117nr-r`%_l@R0ym!`p%oTRSul6T>Si;)2l7`p`FIrRRB}#a1vf`02zOx%HPT8Zq za^;SNMJ|__&)=Gh#iprmERz-J=pJVJ%W)+T=*82z^wX}_%pvZ_$HzZbTxp}Z%*@Pg z(nssF*j=u6>PtdP$UVY8o0wwM=Ift+>_WTsVJz zb9a{$u1gW6@n%3w!&1*`bGl`BWx&7(|JTV4DXCNz0P9R^G zg(Z{KaIw(@0^RcUn>Sf#Cyd*088nAij1qyI%E!9{_CJ6AjbdjJJ;Z(-L4Zowm{m`4e z*%$qTh^9XWyw)sk{fI_qm;J0{J_U%D)zE;Xtqg3mPffAtCDIC8UDngnv!AHhdVML( zz}Hfbi;ayrUA1qlauu2&01XOiY9)7f6033o6B835p|aTAIqDtDB%=o%But)Amly)( zqw3x%kIWZ!c zfBuZhvCyntg2IbSNr@O(`JpWn92Vv>h|)2u)IZ$n$b2h@$f8iF)-kFy8lDJw=qJkq zd8Ey!|9G>qvfwC?z_A{*HJxfYnO|BGhGVeUbCmx2^=l=}MYl5)Wyq9&stU}C{Rv^> zu(p;m%dWSwC(M#=zrPTFc$BJkKgZM?jov<7N*K5-%o?@i<`Sa)DF(?n^ZXvynC1Cf|8CH*Y%mDyhn& zsI&`pTarxt{T^;R~dBcih~+*>y6$qW#?bX-1b(;>E!70H5eugUguW&^ivO z{SE7XDGmyz(xWz8eLn-{sO%&l_4^XK!y4>$ta3WBkGg=ksZ9Gbj`lOcAa}DYt!nrB#yn&3jTR^;>%JCWbsW zCL3!untWCU3%HeXG>$McPM_?MVTVbtC7DD4lK?b&>Cq%^pqv51&sYDW3#lQ1_6tgy;;l3NLLD%5Kg+E>U~sD4xr5wEka=`^Sy5woxJ1CQ z>5!gD%ANH_&)$5dln1lV-#_g(B0p*BAE`t(U1CT(x3V^e#R-%*9j$;ru60C3savpe6PNYd=( z4y<4=(CaTUnzu4m$*ZiaOi4+Z;Zh{IN?pRKTw!x1tY!M#ZRopDK7TOv8)?+@t{Rjf z@OzoPm(M{bJXlDY^4uF7mhe6JH1thgUcP3hcf59Qs8jl2+V9U)bLQ@@!rAC0o`Vh3 zay>v?a3S%TnSD^$U!GMznu*}$f@#!u4`K1^&Q^?+a9t*IuQ#HgPw4#Ow~uKXDK+=n z?eEa5bEVsy5|*6E_SxwX+nx^EpIcjd1Z@#MIa&I6Gw07#rmyOasq*Wq4tS?!mb~A( zyIZZwOC2!Y@d*iiM0UfLaRry@MP9CB>Pua$$$>QqK?eh(YFu(JZ$Lv!3;9y0=UDE! z^%#&t?Q*stcRCw2{waa#AoEq_R@+JqBctfBFg)tW5Pl=cfjT!kt8UMbg5tVFY@>Sp znleq5TQXghf>!x_o+b?R2pFmf#wHrC6N=x8PaQolQW?Hcw=V6mI`l@zBwcyD>Y1wk z*YXxU9R&b*&Hfj}Fo;Mp^x1H@EpLyHcRG6B4X-Z4`7GlTMo#6+%FER}%V1(ED&j&b zV^9U&F5@%3^7J&XoSzKGp*a`N-`{^saw1fhj~Y;P|LPu~Z%As z8$p3Pr*f-V>Goo3dCg2{>S%+PN)E4&7V0V|CoLi%P(l&BGR0X(DtC;7gB+LA)?<1D zE?l#pY%jaqv0L{@FXO6=|+@-;rig^Q97#V@;19`FWawud>PEOWBp{`I; zLQ9^>?5(@~E_{8yQ*7t&c)87JnPSfDJ0AW5RNlb3Pfj!JfbZ@B2{=5MBlX_G4d z2pqI(3ef1S{e3J$kN&{G%-jp*_ArcO%~>*i&);se?CM;HNrZ8U+{VS4tmW@z-SEtI z+G$MAJMAuOF#G%=xMe@$+1tKfNK}%|6C4`4-7T!PHK=peQ8{cJ6c*OuxbL(XK5HkG>^UEYmn^hEeL3`>pAOK7O54uQ0T+P4 z=O+oEP_@U~;Xq#ef3|X=PB*TqJbE1Eb#=|9drZy& z|IgCY$Wwio;VWFmm&saOSxN1^_gnelL;J=i-Y%i!WIal1>i#-6cFFYOULg^lYuDJW zUym?u^iCJ^Yg)fM)_>UtLTu*mgcLTPU3cc(h`W+zNhF(B*!hoTw8el~cy zJUgkETBG9Cj!RAL_>mRVS1=sA=Pk3fRiusz88*pmhtKu@DQl$TE9Nk9*TRC6jg8H^ zlF!;rBDsEh35GkfOx+a*hOXImmC;6@m_@sPdGIV@+H5Z*nK+-F40x^ATEC2pwCs$3 z50^Q!w4`!&ik!R!RtZ{>_15fFfJ{t!)Y-fT)*pHO9e4+C6k_Tu)qo*&-?awH}eGd4DcG;FUf_N};X zujFN#-%728KJU5Na+EB6Xa(PR^Y33S9v=ME9uRS)o(>l?!7QC#NU{c{%xe;nzI~B~ zx_J17Ospjnb>#aN+Y4_B3;6)zmX`KIN1#)V7xz85Iq>1pRp3hv4ZcuT!^2_A%QpH| z_5si+OB%N6EiEngiWi<+zuwv#p4y&pQ4@AqybSahCTVc+MG7XSN4mPSC5?YCX%{@A z;N1W6PoVi&DO0vlFjXdDpGM4NE?UoiwCv5+oWOg)rw0d~nnp&C9{=QD>^(`xKEIi; z4Pl3gcKC;#5p%WpYE3;oKsj%!SP%t_-HQTJA0Ho=9#NfAn|>DG zt@b2OZ*MagnuUegb#?UbCcmUe5i7^P6?c|~DmFBHZoKE^(U{gXrUf#x;$ zm7!!QMlMlZQ`2RVVB@e=Vw4&wE9M!*ES&l-SSS$edpK;l88l&~O;YL2X|Fw{jOpg+ zY@XMNi9(=1TJ>cpXlqkXrxZc&UILz*tCl$lXrqn0A=>@=mL}>Ah;CSP@{o%{GW{V8 zTLMzYuP|LZVQ50_|M;Pv;kzvu7^DD$Cy!3eb3nHbL0s|j@@hEwTMsAY9uYY-3(!kQ7{xya;u2vwLsw$ali^|vNZ6sO>5{Wf z;s?JA9KFs?NI&N1AL!ththP|dLm7#C-h8vrr6UrqtqkUZwO>|xHV**kZY$w8Z{Bd< z^*j)JJlvuS*j}{79dp=x*l1VqYKZ#*VorcGF?ks+qPfel(d0j*E-K0dP}lH_T7Mc>j*ZYpyHj z6*aI73ywZ7=$`Dd7rec2lBNsL5qw>Hz0Sxm<@x2N#ZOrr-+FpXH=1PRJ#hnxkaNoMAYZj( zj}bg{rD*yVn9^SW-00Q2GnMh>46lZVhkqR&PC7n5|NQxL_!>bix8dZ^&(CA$mTDe{ ztZc^Ytl5JH58&SrL@qlg2XKFPHy;{}7TJ<|rE(XwS96t_f+DD-L_kqdkx|B*5`_{> z?E#-AE)y}i?dd7(Dw&@6A@$`;C(xRC`1$XkjLdv?ZEp4VYv3?SJg0nN)sr%_u%N7@ z#05b0;>C;V1_qJU)nY*RS{rb?ZO z1P?%Ju=CtkA@5xttiC>KZ}t0^6rH#e&fp+22xddm@wT1+$(|U{L#Q(y&$(zZy(;^w zU==hR%(@(Jwy9y&lQEEFb7EwJ;e$b}oR~1Q>VDhVpEDZ$vV=%LKw!PmgI>nx?>jgg z(8OfVj*0wF4{6|Tcy2U$0L_4=kpR~L0;g(*&pPh)>(^;TY*-OM(X60~Mnn(-ht#Wf zkP&DS54xtw#i2~DCbM@rBHL-yGU-R99nE^fjsv(A-7@Ep?rpOeKMN zhkwN9RFNm-$!;=oSte*p8<$0B4;y8V78qnq+`Wz3s`s(bCZ= zw;i-4BqADZKEtW36!rA->Mzuz?MV@x0}bV>fI#NSQNn1mTy1aVFN*Eue>9xRT)e9{ z!Rlm3q@)aXo@L$uTx28i{KQR6&}n+wTh<BKVCc3W3XVcH`Z^3M zSJ%tu&IP2YnE} zts1olO8{7_(S|fl2lt?>q>OjtD`ad;zvqqf^yhQ8cQfSmIeb6S@i>#5;wszju|CaMX>BdmWp57Qm$a+SYafX36`c zS95FCQ|&9RLoQ-9A%mjxeXYa8NYc?prmC|u0gaK!rG(CWy^3OUOh*u3ec{T)gfteu z{`%-~1teK@bus|J^VL&}S!hBj_doMlVa!j)Dn3H*sBtz2QT$2cZZB@JMv&O8RH}MR zu^$a1qx}8*JfpSz!=ad&e~&cMK#_DAd@~&H&qFLA;P~(FN(|v;WLXTSzO5y;r43*J z?PaC)CLhV8{WaW9(eHqF9l>3bde)`0w7Pm`Pf;ZrFdcX=(Gq$x5PfbgE_zbZ3oc8& za{!<}K#$c+yvENDf;Z+%dwX0gS>I&i(ZO_33`~!&E3WbJ@$hxRiW1kZ zbuxaxZ{6`~4Rq7M*499Z-}_qFw1~CrRcsHeETL)RmLq>5uPDWv+b-k&sydK+sj=oK)()M;OIL!8GRf z?n70msGatp&#GFY<-gtad(ghOkiD(<4cTdqO(%qk&b3yq@$136XAYAg?Eo52g&byV z``KTC{|&%pq*?Be)A76Lv!?UM7v73*5zd;;fFdfqkjj}a2h%;wL=%_ z{3d=^QSnfsrx~E&?agYZ`fG;lTv-F67=Ak>Q6OD4tkVL{q>aiS5&Ew2l|Rp%Z(S+A zg#DlStE%FeU^_#Tb8~z1_s}A6?3X1O7Q&vEr;#Rln7^dq!J<_a#A)moChV{Lg8gd~ zz%{JmH-eX$r(T?Hum|fnwP+#+ZT~XURiXKnPdctQV_G=-6q$dY`l070YPO%R-|hEn zBw-q(prG&@TaZQ7s%j^?bei~i*7QY2L~sdZ*CuW>>tAAP2qXenD@c18p19r2QwzNh z&<6n>fxU~gfRz4aeB6Mj-r*)KNYn3Fb$B)hs2UR79`7#!{3ItMdoi%W$1UpSR#(FMhzyqs194;v+ghZA`E_{_LUhQ~OD z0JMn6ej-8-zM?qW-eKGg-kKBCt6eRY z`mr)Ex8{mQn+YX@sM9tuuoFB7a*<}wEfa9=AO4dy}gQrMNN7tevAfx8$ zs@3Reiw$*vN##Anw;5W~-oN4s==;>6EF;5;*>BertX)-TpjiKxjjaW0{omiUHcd4d z4T0mM+Eyc-lOy8kuMAw~LdmLLhUPGwdK^Gn2Iyb2h+d@?e{yr!*oPxL{8`0_eO?fm zaSLuVC!!3Bli5w$<*8;l0D34?4}_3vPW~FK{CrOV*7NS~L5e(0Q)o^QVqsCnMk}zw z9GI0urVOh!>!0JQCnb|5T>Q=c?fO7&WA9b@_!_A6N#l;qZ$Mm(hesF(fhh`U4|=ec zmR%(;kubi<&hIG1u!2sof=o6V>5 zHg2Uc@r?jy_g;(@5C?F1IKWNJw(O!_`V%nIn+sy2Oo-tYL|cwg@O_d`UXht@!j41e5@NAAMV0yFnLh-tK!FWKK>fcR6Z z{jJic1Jpu7LL;9{IUw0l>w;LrKmebo$^r90L*oiqBR?ebGBc+LvI(bWvhrYDir7&r z<*70W(i87(<9zZxBm@ABZPx+~o8)li-^!wzo13YbvMMT~+9Qp;M3W8qWB#ro<8f)e zIBIHr!p|>=?CKPtAIQs}Z)s^6vu0so8LPA_s5J#V|B7J1IqUaSGm99;l>@LL_gxZq z$@Jr`4l@`nZ^ayCLBo<992~rehj)c+n(&I8(=^TvHERYBI<7|z@gF@f3ckMQ;SPa_ z&3%wceCa}4X!Pg4K9i$fWPCg!GLey@YkD;RKe{I z&E^44Jy!9w$2>+R3iu#&ZbQTD!Q^Zn*Y$~TpN;gdz=ECIsgg3EY;~1A1jh355^_Baiu_P?k5Nw0I+)FHm?VVh(gTcWp=i__uikjxft2@XVsIP?~@*~ z3YFFVeJ4a8y}Kb6yJu@%g<28N1PJsz#r^k4r9cOhEkk zJq@#y6f7;NpxHp$KtO;SoOlEtvxQzB!N>6j&xy1je802Cs5br`u+yFpD zEAcnFGP3w?UU6&?jJy+cX?ktVPyR$(M+f*zP<1sagpNe$>2BHcU?tz9zf3q$j1seH zd^!o7$=%(TWl#Q?Qw!+b_4cNZ=j$&G>I#{s*3}uk{tf1ty3^*Cdt9ml#E*J%vegmF zH{ZV#u6Yihs9^zS`KYhbA-Ul2MH*>ru4xQ}{-HvaBsZO?Hq(3YuS$4o=Hs0iC0$=a z0iFkNS{x$O2f`xw2mQSzyoGs$70ahaDAWU$u21?!FH{adEp&lU4~YMjbI@9@@$o_S z^m*si9C2{@09E}$hK4}L?7o^5wE)EN+$)3XGQQ!R!GA|bg7zb1*kcGy2M{Z}j7&OU zKkvhy-d@v|z>o@u^l#e>ygag_jcTEZanFWabz#I@dB5J;D(Af*83_$n;Xlbq#bCsJrHMykW zZgbNKJaYJ5o^xeCh1O(wJ?FL#} zBl&#?TK^A+7F-235CUBn!0rg-FhS?u8Md;pu=RgbKH42EW{jvkdPMBAzpfC^2^yL@ zB{$SIdzTQ{LG_r^q(G2bBA^a&adAOLwsRmZ7}OVdl&%W0{YwzUXXfU*0NVpO!)k3P zR7j82Rf)qF?hPQn=iG~7my=^D7(|EfZ_c#Q!U-!a6@>7~K$Zd?Nc1fbj#=8ALE2Jc zh9GXm!r};kRso_jjoy0}t-)P@qD?0oroaNiCTRYQlqNvHXx8;Q_v@*tsTio)$B!Qe zLV_qHMDfo=^2OVC?wm6=Hikb2_gG04oV$);n>^ZG?+CbXG}>UvF*t~#q@?~)YHodL zm*sv3Njli(FhjE#5%JjW-rTj6g*8{nt?gZ4s&Q`OLsQf#19eKc!-57%8Sc5g%M#d{T+Ijyv@{W3l~2Y4t*p*AllP{7&aGm*?N zG#bW+%VBPTZk0X3$ESFe{XsqwDeY!pnhhDOI7{N|1WgBa+)%%j`snELw3GO%pEl~v zn7&Hm#)Qhp-q0sCH@fRqGNnuYQZ(WHmf@TjStEhdMkn$7BFxpcsi{oUw$SO-RR!=( zpacPwMz%kAR)lL}!cttjh}dRlrzAjD@A-2fkjaPnoWk1ffX6)Ty$Sss@Um)(Tl7sf@w#{MrLtQH3oPRbUU^%QWgnQ zqhd%9Yv#QI=#v1x5*%<ef|3N2Uv;Im#BMGj>+lawRZ558RFEOB%CREw2bneZ6z_Du7th9atEiDO*Nw8 zRHB_NU~Cu9SV6ryAMh^xN^8PXhwBOHB>2c|k7!GCV4VTMt*R-zHk~^Rp|Q>gf)-1n zzhrBF;D;%?-1l{|p15nrdibes@4(60#^RRN(~QDi`oz*wAD3IJJ5!+mDZOHN&llpI zo}L5g3fhuU3581h-6v0QSRoG=0TKC&7pEc57_tT$)cb~pY-8(^)FvMm0~UnE@sE30 zRaUiuG(13v8iNvN9Gvc12b)6gJ4jzRg1jY>8u|oFcdlzrM4E0#UdZ-lWfI%|{iz{yXxI-(hpdaM$5Q22I zcXw=RiZrJmE7>7{o{$3BvuMDDY5Ne{GBaa$Y?g@x`vP+DCBGs+kwF#!3_V52nnIQj z+lT?;aP#rKhUCqSx|ZWZB1j^$tgaRPrfz{VbJOD66Yu@?b}T>|DjJWqq|-~R#ipVD z{pQ`;+=Pa?1-utx2-!-C$9+ynB;+!Td!xlBKP!;Rw8D(INqZT1MMgLUH&C5V<7>Vr zd)0jUyLb`VWK@ILB-~Yge(D$CP;d3$JIg66BbSpifsmj(!1Hj3@q*R6KXs-~r1xv{ zpHueU=nwC|+uO5=1`cLF-UW1+eV_uc#Zm^jNDDnKPR?Ki#77~>_hU^SpAA3t4S&UZ z_XHu8i$zaZ6f$J6VG~EsrJD8`=+E6mOUQU&4WH3Ew{fql4S8kreV5?;iEn^kk<)+Q z!s4R&*C@ziKUk#&-LDxj0j_t)#s=XD2i6l zu-pN&v=4;`>Sp-q$x(lkpHH_{xmACq<5UJ7^V?pq!xjVZn61{v+$KDx8i5F=P50W+ z_EZZRlEz(hXgcJAegXu@Nz%xx=4ibhvOy+Zn=N7RJsC)4Jy`?=`*9#;Kol2u1q9&o zhP@#vZ0=tJ$x#9u>+Ma`^9rGt7r`x_AJj3i{`}(9&}$()YY3C*jA^Jd!gmWh1Kqsy z>Riq4PZdu<7T9Re$D&H7DZhQQTd9!jUig^Dy!3CiFXQyV#U(UdRd9-8VciZc&z! z=1sEl(YwHzZ$42|3exl@n8cb|T84dUXf&aW_wJJ~ zFHHfW?VRk(sq5>biFK$H*@T1w860X79h*-w;BK>bbqLs0j#bQo%8%XHkUNtO`}4;h zTzBbPEr_;>I7I6qT?Z#m5Xb>FpKdV5!Fu^e3-{#&qoMj}k4Z0>72oc$G^(kp@}a1`%)8DDH729a7EUpyjRv~om8+kT{5bO;tF9JSma%CKnG+3$fYHG3(O2(z_wGsH`Jivz z-^JPFDkVZ**d!5~NN&kJdb(Cho=0duJJe>il$wj}jG9WPns}fhv^{|9mql`)19J zR9FZ}#KsR|*@9{g7gI+d&RU+}+@R!A3v;D5xOz zDBQn)GoBMPClG_i+@O9v|E+M3lv@kH64gNIjzpGu{rBJGsSs}oxb;jQ%lKh_zluR( z#NNMu&yD}!BwS=Amz3Va81|iD6^9CIg+OfREx3D-Ju~TJ8X(hifAbWMMWI18GYXX~ zyrkpMe4-5wU`+J&-^CzIbM{80-ihaw4^;TpEgg(*{gl;4hm79cCL$Df<%vE!+IG2q z{X5jre4U*mCx0<+SCW7!($YG$dRTML%-q0fM9g8`K5t!6CUBTAMu#v|NI6Xb7)i<4IgS|V@=)1KyTuNo z4i6k`yP-5r<;!$Jw2|$t(Ar_i%c4J9j#k!}2Yhl!!DQ^tSXPf;yLPR;uWx_EmK-;4 zAd5i%>CoMZN8*36U? zTP-bea($%Sa+QnvL@-lDAo=s+jnr>_eQmHK^YZ0=zRJoddWq1=)gjp8;Fs>Pa;SSM z^lZG+dJw$;9_ihC9h?1UvhP%uig(w>V+z}ntu6Kl;o%g-S|+DUd4MT{Rem4=x&cJL zka&Fc$i@u_@$SFop>8V0EWL6o>3_={h%TQtuzjVo)03_3?RiKl5%Z}l8wgC0{kP%v z1h5LAHXK%fE|B&M1i{mEylU;>-@nc2Akyijr4CqJ41@K$zCN1N9#uU(3Euc3mhp zDiwq$gUyNnbp}jy3F2YjLWxsrAXN-KG9fv6uX?VfHpKDZ(-rWQWDhotkci00-$j$L zvG|wqVRVLqz5x4+9B3~}QPIIDI+?`agNxU%^N!R#BLY7NQbe#{wH)!#SDYvofGQZs zII$_-v1|&Vrnh_^Yijz9c~P|j8jSnTf`G7AMD}B2;}%Fjf(UN`&R9pGJOe=Pu}=*! z|CZE=5QP3qS&+qodeOG;FWS%Wu7EoMAECeTs0`LL0W(3=H>a@hIJZQ*USg1l^2J|mefR*_u7D&rtgIq~ z2Kx|4o|!2YZK$pF(wAIMdOWeT2vHyq`4%9t-QVEF3E&dk3JrDjA2!Url;Ca2%iF<9 z%SeOQ1xbu^eVM~3SXHvJO<>##+RiH$8dj!(bPG;rsV*NV*E4HtL8?OzRHgFZPQ!(0Sqm=N2+atnen%ov}n;Z;DV zxo&0*{uw(Ic$%8M-%w!4v63BgJH>DoHyqoZKOZFSD^5|5dDUqFshU!U6M9$x2*M*~ zW0#JYQ#%`$CY^tg8bF$1IY!WT->@pntxjBU?S<{oJ zgV&9Hh#dPSjTj%Ob=bP-wSZhy93Xt9J2dg1iSmX2{{SsStiwt0Acy6Scwvd1?Tpsj)y1yRHJ!YI^TR5=9M| zsP@QY1JlI~X%J(zm5JsBLlv}bSh3BE;_Sb<0Xn^2V&%)L zd6Ao2gcr{=U`>IGD-0?!cad>` zuqXq@gQ#u3M`62}DeN2N<}%)m=QJ}nUxAFEB$BR5bYZ?q9qb}{=z%H@4$N!g)u7SE zfQ}HCo_?Vwn|{i5fY{J)?@ggz`72mMy;3l!1X?|I2P%^Kq=iby@YSgOA|yZ{e6&$$ z(8#@GelPgmlbf`apZ-8dWqO(n!VUDq7v?8-rLSL4$x;a2IXbR|sWY>*8kVrDM2{%s zqrbm6cLDaFEn$U>IQvQ$v=)$Z)F3$znR<9tgGBh`)qu>8rv%^e0R z#0CDAi0Ei6u1_*f=>+toQf@V4VPyreu#=;G4oOKuP_-kdc%OpZ4l6jmZXuc3332ysARR2$b57#4qP7=#b&A;q1vQB9p=+KyciOPoS`IE1 z8H9k`+=zjq7tq|NFpTqF>dWl&*=P*vw7`NPSPbHZ_Zp;FJ}uRKim4L?vjr<}t*sH? z28R&4?*&;vtm6O?$C9Rhi-i%z46sv_8?J)|GVW`L>d)`Bo}KcSnJ=vcn3d~mq!E_+ z8tPtE&b}983l?TgKA^gRh7hyJ%U@H zVgLP`xlvzA)Z6_W}@}S?LeyvRZ8u)x76c$qJB}aJmDcI7IfZT)_Kl4O>8f z%*j%FhQ7rWqX^6RW*f(x98AS3L2qjqIx9{E+2dn{@1avqK zjv!e-@23i)JBGk&h0< zSi#c&LoVUTNm;;78IASfFJHb>I3h`@zbY(z!D(T1#??%2(OsM(I7WxH1_y9)ZZ2n8 zxsnTD4$uitf>~o>3;>1&iQ*xwfWo^lfM9R0*KcS-!EESOt0yKVYCL|NoxZWKpcuo9 z!E&xY?)6*^z*j62&K@u#egiD>8kC8AhZj>0jXz)*iYOFB^)vBB@ zmZ3F4kOTXs5y|unK=fcwfk%{ERu%!FSTe|zWy&Ir0775DR_)B^07|fv>D_Si(GP5F zc(e;bwx172;$iCC=DzcCZ^7#cAm~=`sA6T$8@mk4&p%|W{xT}+U4DMe*#AEE=dco16I0pO*=G(qcU%xaY4E-yqKq zoTyE+OfTYvJt^1g?CyS-UxNuJE;OKx^)Apf<0c-fU*Ee?VT*uC8L$aFoVf(+*Rn78Ln|<~;oLs{&({TgF zMIi&FxlxatXKOeQ(YYC4XXK?D{PFgWFWAX_F^~%!1X%>f=^5+nB;khqoIL;0l;SUp zi30vc=Je#^y1hu@z@x580ko!+Dr(R>vrmx@0x_nhSsktKYKn(-?{8?ncmA++Joryy z+)^w#3Rcu?1=}WmHIfoa>t-X2n=ta2>Siup9*oSmk+WHM<1YqT(wZYDnzXMB}#X7vs4sLwn2hqIV;nqGE@_PmlG9HwOpEMG}_Y){c&(Qks|?pXv