At 06:31 PM 10/11/2006, stew.redfield@gmail.com wrote:
--=====================_272409043==_ Content-Type: text/plain; charset="us-ascii"
Last config.log is attached. Other regex.h files on box: /usr/include/regex.h (Solaris 10 Base) /usr/include/unicode/regex.h (Solaris 10 Base) /usr/local/include/regex.h (Spencer's 11101byte standard one)
The config.log indicates the latter was selected by your compiler and subsequently found not to be compatible. It would seem that this regex.h expects, contrary to the POSIX regex standard, some unusual header(s) to included first.
I see no particular reason why we should attempt to support this old regex library so will close this report.
As far as workaround this problem, I would suggest either altering your include/library paths to avoid use of this header/library, uninstalling this header/library, or replacing this header/library.
Kurt
Thanks, Stew
On 10/11/06, Kurt D. Zeilenga Kurt@openldap.org wrote:
Actually, I only silenced the regex.h warning. I cannot tell from your message why the regex compat check failed. Please provide relevant details from config.log.
At 11:18 PM 10/10/2006, stew.redfield@gmail.com wrote:
Full_Name: Stew Redfield Version: 2.3.27 OS: Solaris 10 sparc URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (65.219.72.58)
/configure --prefix=/usr/local --snip-- checking regex.h presence... yes configure: WARNING: regex.h: present but cannot be compiled configure: WARNING: regex.h: check for missing prerequisite headers? configure: WARNING: regex.h: see the Autoconf documentation configure: WARNING: regex.h: section "Present But Cannot Be Compiled" configure: WARNING: regex.h: proceeding with the preprocessor's result configure: WARNING: regex.h: in the future, the compiler will take precedence configure: WARNING: ## --------------------------------------------- ## configure: WARNING: ## Report this to http://www.openldap.org/its/ ## configure: WARNING: ## --------------------------------------------- ## checking for regex.h... yes checking for library containing regfree... none required checking for compatible POSIX regex... no configure: error: broken POSIX regex!
-- Stew Redfield, CISA CISSP Stew.Redfield@gmail.com
Reason can be fought with reason. How are you going to fight the unreasonable? -A. Rand
Content-Type: application/octet-stream; name=openldap.2.3.27.sol10.config.log X-Attachment-Id: f_et5p2n36 Content-Disposition: attachment; filename="openldap.2.3.27.sol10.config.log"
--=====================_272409043==_ Content-Type: application/octet-stream; name="openldap.2.3.27.sol10.config.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="openldap.2.3.27.sol10.config.log"
VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGNvbmZpZ3VyZSwgd2hpY2ggd2FzCmdlbmVy YXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoK ICAkIC4vY29uZmlndXJlIC0tcHJlZml4PS91c3IvbG9jYWwgLS13aXRoLXRscwoKIyMgLS0tLS0t LS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMKCmhvc3RuYW1lID0gbnN1cGRw MDEKdW5hbWUgLW0gPSBzdW40dQp1bmFtZSAtciA9IDUuMTAKdW5hbWUgLXMgPSBTdW5PUwp1bmFt ZSAtdiA9IEdlbmVyaWNfMTE4ODMzLTI0CgovdXNyL2Jpbi91bmFtZSAtcCA9IHNwYXJjCi9iaW4v dW5hbWUgLVggICAgID0gU3lzdGVtID0gU3VuT1MKTm9kZSA9IG5zdXBkcDAxClJlbGVhc2UgPSA1 LjEwCktlcm5lbElEID0gR2VuZXJpY18xMTg4MzMtMjQKTWFjaGluZSA9IHN1bjR1CkJ1c1R5cGUg PSA8dW5rbm93bj4KU2VyaWFsID0gPHVua25vd24+ClVzZXJzID0gPHVua25vd24+Ck9FTSMgPSAw Ck9yaWdpbiMgPSAxCk51bUNQVSA9IDIKCi9iaW4vYXJjaCAgICAgICAgICAgICAgPSBzdW40Ci91 c3IvYmluL2FyY2ggLWsgICAgICAgPSBzdW40dQovdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5r bm93bgpob3N0aW5mbyAgICAgICAgICAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUgICAgICAg ICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93bgovYmluL3VuaXZl cnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogL3NiaW4KUEFUSDogL3Vzci9zYmluClBBVEg6 IC9iaW4KUEFUSDogL3Vzci9iaW4KUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9j YWwvYmluClBBVEg6IC9vcHQyMDAvWHRlcm5hbHMvYmluClBBVEg6IC91c3IvdWNiClBBVEg6IC91 c3IvY2NzL2JpbgpQQVRIOiAvb3B0MjAwL215c3FsLzUuMC4xOC9iaW4KCgojIyAtLS0tLS0tLS0t LSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjE2MTU6 IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxNjMzOiByZXN1bHQ6IHNwYXJj LXN1bi1zb2xhcmlzMi4xMApjb25maWd1cmU6MTY0MTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlw ZQpjb25maWd1cmU6MTY1NTogcmVzdWx0OiBzcGFyYy1zdW4tc29sYXJpczIuMTAKY29uZmlndXJl OjE2NjM6IGNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MTY3NzogcmVzdWx0 OiBzcGFyYy1zdW4tc29sYXJpczIuMTAKY29uZmlndXJlOjE3MDY6IGNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjE3NjE6IHJlc3VsdDogYnVpbGQvc2h0b29s IGluc3RhbGwgLWMKY29uZmlndXJlOjE3NzI6IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MTgxNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4ODA6 IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToxODk2OiBmb3VuZCAvdXNyL2xvY2FsL2Jpbi9n YXdrCmNvbmZpZ3VyZToxOTA2OiByZXN1bHQ6IGdhd2sKY29uZmlndXJlOjE5MTY6IGNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkKY29uZmlndXJlOjE5MzY6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyMTQ1OiBjaGVja2luZyBjb25maWd1cmUgYXJndW1lbnRzCmNvbmZpZ3VyZTozODQz OiByZXN1bHQ6IGRvbmUKY29uZmlndXJlOjQwMDk6IGNoZWNraW5nIGZvciBjYwpjb25maWd1cmU6 NDAyNTogZm91bmQgL3Vzci9sb2NhbC9iaW4vY2MKY29uZmlndXJlOjQwMzU6IHJlc3VsdDogY2MK Y29uZmlndXJlOjQwNTk6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NDA3NTogZm91bmQgL3Vz ci9jY3MvYmluL2FyCmNvbmZpZ3VyZTo0MDg1OiByZXN1bHQ6IGFyCmNvbmZpZ3VyZTo0MTQ0OiBj aGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UKY29uZmlndXJlOjQxNzI6 IHJlc3VsdDogR05VCmNvbmZpZ3VyZTo0NTEzOiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJz aW9uCmNvbmZpZ3VyZTo0NTE2OiBjYyAtLXZlcnNpb24gPC9kZXYvbnVsbCA+JjUKY2MgKEdDQykg My4zLjIKQ29weXJpZ2h0IChDKSAyMDAzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpU aGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlv bnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTo0NTE5OiAkPyA9 IDAKY29uZmlndXJlOjQ1MjE6IGNjIC12IDwvZGV2L251bGwgPiY1ClJlYWRpbmcgc3BlY3MgZnJv bSAvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi4xMC8zLjMuMi9zcGVj cwpDb25maWd1cmVkIHdpdGg6IC4uL2NvbmZpZ3VyZSAtLXdpdGgtYXM9L3Vzci9jY3MvYmluL2Fz IC0td2l0aC1sZD0vdXNyL2Njcy9iaW4vbGQgLS1kaXNhYmxlLW5scwpUaHJlYWQgbW9kZWw6IHBv c2l4CmdjYyB2ZXJzaW9uIDMuMy4yCmNvbmZpZ3VyZTo0NTI0OiAkPyA9IDAKY29uZmlndXJlOjQ1 MjY6IGNjIC1WIDwvZGV2L251bGwgPiY1CmNjOiBgLVYnIG9wdGlvbiBtdXN0IGhhdmUgYXJndW1l bnQKY29uZmlndXJlOjQ1Mjk6ICQ/ID0gMQpjb25maWd1cmU6NDU1MjogY2hlY2tpbmcgZm9yIEMg Y29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo0NTU1OiBjYyAgICBj b25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQ1NTg6ICQ/ID0gMApjb25maWd1cmU6NDYwNDogcmVz dWx0OiBhLm91dApjb25maWd1cmU6NDYwOTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcwpjb25maWd1cmU6NDYxNTogLi9hLm91dApjb25maWd1cmU6NDYxODogJD8gPSAwCmNv bmZpZ3VyZTo0NjM1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDY0MjogY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nCmNvbmZpZ3VyZTo0NjQ0OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo0NjQ3OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTo0 NjQ5OiBjYyAtbyBjb25mdGVzdCAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQ2NTI6ICQ/ ID0gMApjb25maWd1cmU6NDY3NzogcmVzdWx0OiAKY29uZmlndXJlOjQ2ODM6IGNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo0NzA0OiBjYyAtYyAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo0NzA3OiAkPyA9IDAKY29uZmlndXJlOjQ3Mjk6IHJlc3VsdDogbwpj b25maWd1cmU6NDczMzogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv bXBpbGVyCmNvbmZpZ3VyZTo0NzU3OiBjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0 NzYzOiAkPyA9IDAKY29uZmlndXJlOjQ3Njc6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29u ZnRlc3QuZXJyCmNvbmZpZ3VyZTo0NzcwOiAkPyA9IDAKY29uZmlndXJlOjQ3NzM6IHRlc3QgLXMg Y29uZnRlc3Qubwpjb25maWd1cmU6NDc3NjogJD8gPSAwCmNvbmZpZ3VyZTo0Nzg5OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6NDc5NTogY2hlY2tpbmcgd2hldGhlciBjYyBhY2NlcHRzIC1nCmNvbmZp Z3VyZTo0ODE2OiBjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MjI6ICQ/ID0g MApjb25maWd1cmU6NDgyNjogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIK Y29uZmlndXJlOjQ4Mjk6ICQ/ID0gMApjb25maWd1cmU6NDgzMjogdGVzdCAtcyBjb25mdGVzdC5v CmNvbmZpZ3VyZTo0ODM1OiAkPyA9IDAKY29uZmlndXJlOjQ4NDY6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo0ODYzOiBjaGVja2luZyBmb3IgY2Mgb3B0aW9uIHRvIGFjY2VwdCBBTlNJIEMKY29uZmln dXJlOjQ5MzM6IGNjICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0OTM5OiAk PyA9IDAKY29uZmlndXJlOjQ5NDM6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3Qu ZXJyCmNvbmZpZ3VyZTo0OTQ2OiAkPyA9IDAKY29uZmlndXJlOjQ5NDk6IHRlc3QgLXMgY29uZnRl c3Qubwpjb25maWd1cmU6NDk1MjogJD8gPSAwCmNvbmZpZ3VyZTo0OTcwOiByZXN1bHQ6IG5vbmUg bmVlZGVkCmNvbmZpZ3VyZTo0OTg4OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6MjogZXJyb3I6IHBhcnNlIGVycm9yIGJlZm9yZSAibWUiCmNvbmZpZ3VyZTo0OTk0OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgI2lmbmRlZiBfX2NwbHVzcGx1 cwp8ICAgY2hva2UgbWUKfCAjZW5kaWYKY29uZmlndXJlOjUxMjk6IGNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgY2MKY29uZmlndXJlOjUyMTk6IHJlc3VsdDogbm9uZQpjb25maWd1cmU6NTIz NjogY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0CmNvbmZp Z3VyZTo1MjkwOiByZXN1bHQ6IC9iaW4vc2VkCmNvbmZpZ3VyZTo1MjkzOiBjaGVja2luZyBmb3Ig ZWdyZXAKY29uZmlndXJlOjUzMDM6IHJlc3VsdDogZWdyZXAKY29uZmlndXJlOjUzMTk6IGNoZWNr aW5nIGZvciBsZCB1c2VkIGJ5IGNjCmNvbmZpZ3VyZTo1Mzg2OiByZXN1bHQ6IC91c3IvY2NzL2Jp bi9sZApjb25maWd1cmU6NTM5NTogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoL3Vzci9jY3MvYmlu L2xkKSBpcyBHTlUgbGQKY29uZmlndXJlOjU0MTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjU0MTU6 IGNoZWNraW5nIGZvciAvdXNyL2Njcy9iaW4vbGQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmls ZXMKY29uZmlndXJlOjU0MjI6IHJlc3VsdDogLXIKY29uZmlndXJlOjU0NDA6IGNoZWNraW5nIGZv ciBCU0QtY29tcGF0aWJsZSBubQpjb25maWd1cmU6NTQ4MjogcmVzdWx0OiAvdXNyL2Njcy9iaW4v bm0gLXAKY29uZmlndXJlOjU0ODY6IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MKY29uZmln dXJlOjU0OTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDk3OiBjaGVja2luZyBob3cgdG8gcmVj b2duaXNlIGRlcGVuZGVudCBsaWJyYXJpZXMKY29uZmlndXJlOjU2Njk6IHJlc3VsdDogcGFzc19h bGwKY29uZmlndXJlOjYxMjU6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29y CmNvbmZpZ3VyZTo2MTYwOiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NjE2NjogJD8gPSAw CmNvbmZpZ3VyZTo2MTk4OiBjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjE2OjI4OiBhY19u b25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo2MjA0OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICov CnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tB R0UgIk9wZW5MREFQIgp8ICNkZWZpbmUgT1BFTkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZp bmUgTERBUF9WRU5ET1JfVkVSU0lPTiAyMDMyNwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lP Tl9NQUpPUiAyCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5l IExEQVBfVkVORE9SX1ZFUlNJT05fUEFUQ0ggMjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNv bmZpZ3VyZTo2MjQzOiByZXN1bHQ6IGNjIC1FCmNvbmZpZ3VyZTo2MjY3OiBjYyAtRSAgY29uZnRl c3QuYwpjb25maWd1cmU6NjI3MzogJD8gPSAwCmNvbmZpZ3VyZTo2MzA1OiBjYyAtRSAgY29uZnRl c3QuYwpjb25mdGVzdC5jOjE2OjI4OiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CmNvbmZpZ3VyZTo2MzExOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0UgIk9wZW5MREFQIgp8ICNkZWZpbmUgT1BFTkxE QVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTiAyMDMyNwp8 ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NQUpPUiAyCnwgI2RlZmluZSBMREFQX1ZFTkRP Ul9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fUEFUQ0ggMjcK fCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTo2MzU1OiBjaGVja2luZyBmb3IgQU5T SSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6NjM4MDogY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6NjM4NjogJD8gPSAwCmNvbmZpZ3VyZTo2MzkwOiB0ZXN0IC16IAoJCQkg fHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NjM5MzogJD8gPSAwCmNvbmZpZ3Vy ZTo2Mzk2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjYzOTk6ICQ/ID0gMApjb25maWd1 cmU6NjQ4ODogY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3Vy ZTo2NDkxOiAkPyA9IDAKY29uZmlndXJlOjY0OTM6IC4vY29uZnRlc3QKY29uZmlndXJlOjY0OTY6 ICQ/ID0gMApjb25maWd1cmU6NjUxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MzU6IGNoZWNr aW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6NjU1MTogY2MgLWMgLWcgLU8yICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6NjU1NzogJD8gPSAwCmNvbmZpZ3VyZTo2NTYxOiB0ZXN0IC16IAoJ CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NjU2NDogJD8gPSAwCmNvbmZp Z3VyZTo2NTY3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjY1NzA6ICQ/ID0gMApjb25m aWd1cmU6NjU4MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MzU6IGNoZWNraW5nIGZvciBzeXMv c3RhdC5oCmNvbmZpZ3VyZTo2NTUxOiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZTo2NTU3OiAkPyA9IDAKY29uZmlndXJlOjY1NjE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEg LXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NTY0OiAkPyA9IDAKY29uZmlndXJlOjY1Njc6IHRl c3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjU3MDogJD8gPSAwCmNvbmZpZ3VyZTo2NTgxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NjUzNTogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3Vy ZTo2NTUxOiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NTU3OiAkPyA9 IDAKY29uZmlndXJlOjY1NjE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy CmNvbmZpZ3VyZTo2NTY0OiAkPyA9IDAKY29uZmlndXJlOjY1Njc6IHRlc3QgLXMgY29uZnRlc3Qu bwpjb25maWd1cmU6NjU3MDogJD8gPSAwCmNvbmZpZ3VyZTo2NTgxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NjUzNTogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo2NTUxOiBjYyAtYyAt ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NTU3OiAkPyA9IDAKY29uZmlndXJlOjY1 NjE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NTY0 OiAkPyA9IDAKY29uZmlndXJlOjY1Njc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjU3 MDogJD8gPSAwCmNvbmZpZ3VyZTo2NTgxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUzNTogY2hl Y2tpbmcgZm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTo2NTUxOiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo2NTU3OiAkPyA9IDAKY29uZmlndXJlOjY1NjE6IHRlc3QgLXogCgkJ CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NTY0OiAkPyA9IDAKY29uZmln dXJlOjY1Njc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjU3MDogJD8gPSAwCmNvbmZp Z3VyZTo2NTgxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUzNTogY2hlY2tpbmcgZm9yIHN0cmlu Z3MuaApjb25maWd1cmU6NjU1MTogY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NjU1NzogJD8gPSAwCmNvbmZpZ3VyZTo2NTYxOiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1z IGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NjU2NDogJD8gPSAwCmNvbmZpZ3VyZTo2NTY3OiB0ZXN0 IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjY1NzA6ICQ/ID0gMApjb25maWd1cmU6NjU4MTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjY1MzU6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3Vy ZTo2NTUxOiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NTU3OiAkPyA9 IDAKY29uZmlndXJlOjY1NjE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy CmNvbmZpZ3VyZTo2NTY0OiAkPyA9IDAKY29uZmlndXJlOjY1Njc6IHRlc3QgLXMgY29uZnRlc3Qu bwpjb25maWd1cmU6NjU3MDogJD8gPSAwCmNvbmZpZ3VyZTo2NTgxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NjUzNTogY2hlY2tpbmcgZm9yIHN0ZGludC5oCmNvbmZpZ3VyZTo2NTUxOiBjYyAtYyAt ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NTU3OiAkPyA9IDAKY29uZmlndXJlOjY1 NjE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NTY0 OiAkPyA9IDAKY29uZmlndXJlOjY1Njc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjU3 MDogJD8gPSAwCmNvbmZpZ3VyZTo2NTgxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUzNTogY2hl Y2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo2NTUxOiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo2NTU3OiAkPyA9IDAKY29uZmlndXJlOjY1NjE6IHRlc3QgLXogCgkJ CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NTY0OiAkPyA9IDAKY29uZmln dXJlOjY1Njc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjU3MDogJD8gPSAwCmNvbmZp Z3VyZTo2NTgxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjYwNzogY2hlY2tpbmcgZGxmY24uaCB1 c2FiaWxpdHkKY29uZmlndXJlOjY2MTk6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjY2MjU6ICQ/ID0gMApjb25maWd1cmU6NjYyOTogdGVzdCAteiAKCQkJIHx8IHRlc3Qg ISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjY2MzI6ICQ/ID0gMApjb25maWd1cmU6NjYzNTog dGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo2NjM4OiAkPyA9IDAKY29uZmlndXJlOjY2NDg6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NjUyOiBjaGVja2luZyBkbGZjbi5oIHByZXNlbmNlCmNv bmZpZ3VyZTo2NjYyOiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NjY2ODogJD8gPSAwCmNv bmZpZ3VyZTo2Njg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjcyMzogY2hlY2tpbmcgZm9yIGRs ZmNuLmgKY29uZmlndXJlOjY3MzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzQ3OiBjaGVja2lu ZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cwpjb25maWd1cmU6 NjgzOTogcmVzdWx0OiAyNjIxNDQKY29uZmlndXJlOjY4NTA6IGNoZWNraW5nIGNvbW1hbmQgdG8g cGFyc2UgL3Vzci9jY3MvYmluL25tIC1wIG91dHB1dCBmcm9tIGNjIG9iamVjdApjb25maWd1cmU6 Njk0NjogY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Njk0OTogJD8gPSAw CmNvbmZpZ3VyZTo2OTUzOiAvdXNyL2Njcy9iaW4vbm0gLXAgY29uZnRlc3QubyBcfCBzZWQgLW4g LWUgJ3MvXi4qWyAJXVwoW0JEUlRdW0JEUlRdKlwpWyAJXVsgCV0qXChbX0EtWmEtel1bX0EtWmEt ejAtOV0qXCkkL1wxIFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo2OTU2OiAkPyA9 IDAKY29uZmlndXJlOjcwMDg6IGNjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgY29u ZnRzdG0ubyA+JjUKY29uZmlndXJlOjcwMTE6ICQ/ID0gMApjb25maWd1cmU6NzA0OTogcmVzdWx0 OiBvawpjb25maWd1cmU6NzA1MzogY2hlY2tpbmcgZm9yIG9iamRpcgpjb25maWd1cmU6NzA2ODog cmVzdWx0OiAubGlicwpjb25maWd1cmU6NzIzODogY2hlY2tpbmcgZm9yIHJhbmxpYgpjb25maWd1 cmU6NzI1NDogZm91bmQgL3Vzci9jY3MvYmluL3JhbmxpYgpjb25maWd1cmU6NzI2NTogcmVzdWx0 OiByYW5saWIKY29uZmlndXJlOjczMTg6IGNoZWNraW5nIGZvciBzdHJpcApjb25maWd1cmU6NzMz NDogZm91bmQgL3Vzci9jY3MvYmluL3N0cmlwCmNvbmZpZ3VyZTo3MzQ1OiByZXN1bHQ6IHN0cmlw CmNvbmZpZ3VyZTo3NjMyOiBjaGVja2luZyBpZiBjYyBzdGF0aWMgZmxhZyAgd29ya3MKY29uZmln dXJlOjc2NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3Njc4OiBjaGVja2luZyBpZiBjYyBzdXBw b3J0cyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zCmNvbmZpZ3VyZTo3Njk2OiBjYyAtYyAtZyAt TzIgIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMgY29uZnRlc3QuYyA+JjUKY2MxOiB3YXJuaW5n OiAiLWZuby1ydHRpIiBpcyB2YWxpZCBmb3IgQysrIGJ1dCBub3QgZm9yIEMvT2JqQwpjb25maWd1 cmU6NzcwMDogJD8gPSAwCmNvbmZpZ3VyZTo3NzEzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3NzI4 OiBjaGVja2luZyBmb3IgY2Mgb3B0aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3VyZTo3OTMyOiBy ZXN1bHQ6IC1mUElDCmNvbmZpZ3VyZTo3OTQwOiBjaGVja2luZyBpZiBjYyBQSUMgZmxhZyAtZlBJ QyB3b3Jrcwpjb25maWd1cmU6Nzk1ODogY2MgLWMgLWcgLU8yICAtZlBJQyAtRFBJQyBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6Nzk2MjogJD8gPSAwCmNvbmZpZ3VyZTo3OTc1OiByZXN1bHQ6IHll cwpjb25maWd1cmU6Nzk5OTogY2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNv bmZpZ3VyZTo4MDIwOiBjYyAtYyAtZyAtTzIgIC1vIG91dC9jb25mdGVzdDIubyBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6ODAyNDogJD8gPSAwCmNvbmZpZ3VyZTo4MDQ2OiByZXN1bHQ6IHllcwpj b25maWd1cmU6ODA3MjogY2hlY2tpbmcgd2hldGhlciB0aGUgY2MgbGlua2VyICgvdXNyL2Njcy9i aW4vbGQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjg5Njg6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo4OTk0OiBjaGVja2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGlj aXRseSBsaW5rZWQgaW4KY29uZmlndXJlOjg5OTk6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjkwMDI6ICQ/ID0gMApjb25maWd1cmU6OTAxNjogY2MgLXNoYXJlZCAtV2ws LWggLVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0Lm8gIC12IDJcPlwmMSBcfCBncmVw ICAtbGMgIFw+L2Rldi9udWxsIDJcPlwmMQpjb25maWd1cmU6OTAxOTogJD8gPSAxCmNvbmZpZ3Vy ZTo5MDMxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTAzOTogY2hlY2tpbmcgZHluYW1pYyBsaW5r ZXIgY2hhcmFjdGVyaXN0aWNzCmNvbmZpZ3VyZTo5NTkzOiByZXN1bHQ6IHNvbGFyaXMyLjEwIGxk LnNvCmNvbmZpZ3VyZTo5NTk3OiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRo cyBpbnRvIHByb2dyYW1zCmNvbmZpZ3VyZTo5NjIyOiByZXN1bHQ6IGltbWVkaWF0ZQpjb25maWd1 cmU6OTYzNjogY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxl CmNvbmZpZ3VyZTo5NjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NzY3OiBjaGVja2luZyBmb3Ig c2hsX2xvYWQKY29uZmlndXJlOjk4MjQ6IGNjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0 LmMgID4mNQpVbmRlZmluZWQJCQlmaXJzdCByZWZlcmVuY2VkCiBzeW1ib2wgIAkJCSAgICBpbiBm aWxlCnNobF9sb2FkICAgICAgICAgICAgICAgICAgICAgICAgICAgIC92YXIvdG1wLy9jYzZmd1JO dy5vCmxkOiBmYXRhbDogU3ltYm9sIHJlZmVyZW5jaW5nIGVycm9ycy4gTm8gb3V0cHV0IHdyaXR0 ZW4gdG8gY29uZnRlc3QKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmln dXJlOjk4MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgT1BF TkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBPUEVOTERBUF9WRVJTSU9OICIyLjMu MjciCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIwMzI3CnwgI2RlZmluZSBMREFQX1ZF TkRPUl9WRVJTSU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUlOT1Ig Mwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRDSCAyNwp8ICNkZWZpbmUgSEFWRV9N S1ZFUlNJT04gMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9ETEZDTl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNo bF9sb2FkIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFy ZXMgc2hsX2xvYWQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xh cmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBzaGxfbG9hZCBpbm5vY3VvdXNfc2hsX2xv YWQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg c2hsX2xvYWQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+ IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2 ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwg IyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2Vu ZGlmCnwgCnwgI3VuZGVmIHNobF9sb2FkCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMK fCBleHRlcm4gIkMiCnwgewp8ICNlbmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgc2hs X2xvYWQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm aW5lZCAoX19zdHViX3NobF9sb2FkKSB8fCBkZWZpbmVkIChfX3N0dWJfX19zaGxfbG9hZCkKfCBj aG9rZSBtZQp8ICNlbHNlCnwgY2hhciAoKmYpICgpID0gc2hsX2xvYWQ7CnwgI2VuZGlmCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIGYgIT0gc2hsX2xvYWQ7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5ODU1 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5ODYwOiBjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxk bGQKY29uZmlndXJlOjk4OTA6IGNjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxk bGQgICA+JjUKbGQ6IGZhdGFsOiBsaWJyYXJ5IC1sZGxkOiBub3QgZm91bmQKbGQ6IGZhdGFsOiBG aWxlIHByb2Nlc3NpbmcgZXJyb3JzLiBObyBvdXRwdXQgd3JpdHRlbiB0byBjb25mdGVzdApjb2xs ZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6OTg5NjogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVu TERBUCIKfCAjZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBf VkVORE9SX1ZFUlNJT04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1Ig Mgp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZF TkRPUl9WRVJTSU9OX1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIHNobF9sb2Fk ICgpOwp8IGludAp8IG1haW4gKCkKfCB7Cnwgc2hsX2xvYWQgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTo5OTIyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5OTI3OiBjaGVja2lu ZyBmb3IgZGxvcGVuCmNvbmZpZ3VyZTo5OTg0OiBjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25m dGVzdC5jICA+JjUKY29uZmlndXJlOjk5OTA6ICQ/ID0gMApjb25maWd1cmU6OTk5NDogdGVzdCAt eiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjk5OTc6ICQ/ID0gMApj b25maWd1cmU6MTAwMDA6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjEwMDAzOiAkPyA9IDAK Y29uZmlndXJlOjEwMDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAyNTc6IGNoZWNraW5nIHdo ZXRoZXIgYSBwcm9ncmFtIGNhbiBkbG9wZW4gaXRzZWxmCmNvbmZpZ3VyZToxMDMyOTogY2MgLW8g Y29uZnRlc3QgLWcgLU8yICAtREhBVkVfRExGQ05fSCAgIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmln dXJlOjEwMzMyOiAkPyA9IDAKY29uZmlndXJlOjEwMzUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTAzNTU6IGNoZWNraW5nIHdoZXRoZXIgYSBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtIGNhbiBk bG9wZW4gaXRzZWxmCmNvbmZpZ3VyZToxMDQyNzogY2MgLW8gY29uZnRlc3QgLWcgLU8yICAtREhB VkVfRExGQ05fSCAgICBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZToxMDQzMDogJD8gPSAwCmNv bmZpZ3VyZToxMDQ0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNDcxOiBjaGVja2luZyBpZiBs aWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjEwNDczOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTA0NzY6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxp YnJhcmllcwpjb25maWd1cmU6MTA0OTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDUwMDogY2hl Y2tpbmcgd2hldGhlciB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzCmNvbmZpZ3VyZToxMDUwNDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNTk2OiBjcmVhdGluZyBsaWJ0b29sCmNvbmZpZ3VyZTox MTY1NzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjEx Nzc1OiByZXN1bHQ6IGNjIC1FCmNvbmZpZ3VyZToxMTc5OTogY2MgLUUgIGNvbmZ0ZXN0LmMKY29u ZmlndXJlOjExODA1OiAkPyA9IDAKY29uZmlndXJlOjExODM3OiBjYyAtRSAgY29uZnRlc3QuYwpj b25mdGVzdC5jOjI3OjI4OiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZToxMTg0MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9QRU5MREFQX1ZF UlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAzMjcKfCAjZGVm aW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVS U0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3CnwgI2Rl ZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjExOTAwOiBjaGVja2luZyBmb3Ig YmVfYXBwIGluIC1sYmUKY29uZmlndXJlOjExOTMwOiBjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBj b25mdGVzdC5jIC1sYmUgLWxyb290IC1sbmV0ICA+JjUKbGQ6IGZhdGFsOiBsaWJyYXJ5IC1sYmU6 IG5vdCBmb3VuZApsZDogZmF0YWw6IGxpYnJhcnkgLWxyb290OiBub3QgZm91bmQKbGQ6IGZhdGFs OiBsaWJyYXJ5IC1sbmV0OiBub3QgZm91bmQKbGQ6IGZhdGFsOiBGaWxlIHByb2Nlc3NpbmcgZXJy b3JzLiBObyBvdXRwdXQgd3JpdHRlbiB0byBjb25mdGVzdApjb2xsZWN0MjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTE5MzY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBP UEVOTERBUF9WRVJTSU9OICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIw MzI3CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBf VkVORE9SX1ZFUlNJT05fTUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRD SCAyNwp8ICNkZWZpbmUgSEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEVYRUVYVCAi Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1 cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIGJlX2Fw cCAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IGJlX2FwcCAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjExOTYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjI4NzogY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MTIyOTA6IGNjIC0tdmVyc2lvbiA8 L2Rldi9udWxsID4mNQpjYyAoR0NDKSAzLjMuMgpDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3Vy Y2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZl biBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LgoKY29uZmlndXJlOjEyMjkzOiAkPyA9IDAKY29uZmlndXJlOjEyMjk1OiBjYyAtdiA8L2Rldi9u dWxsID4mNQpSZWFkaW5nIHNwZWNzIGZyb20gL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1z dW4tc29sYXJpczIuMTAvMy4zLjIvc3BlY3MKQ29uZmlndXJlZCB3aXRoOiAuLi9jb25maWd1cmUg LS13aXRoLWFzPS91c3IvY2NzL2Jpbi9hcyAtLXdpdGgtbGQ9L3Vzci9jY3MvYmluL2xkIC0tZGlz YWJsZS1ubHMKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiAzLjMuMgpjb25maWd1cmU6 MTIyOTg6ICQ/ID0gMApjb25maWd1cmU6MTIzMDA6IGNjIC1WIDwvZGV2L251bGwgPiY1CmNjOiBg LVYnIG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmlndXJlOjEyMzAzOiAkPyA9IDEKY29u ZmlndXJlOjEyMzA2OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIKY29uZmlndXJlOjEyMzYyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTIzNjg6IGNoZWNr aW5nIHdoZXRoZXIgY2MgYWNjZXB0cyAtZwpjb25maWd1cmU6MTI0MTk6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxMjQzNjogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgQU5TSSBDCmNv bmZpZ3VyZToxMjU0MzogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6MTI1NjE6IGNjIC1j IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyOiBlcnJvcjogcGFyc2UgZXJyb3Ig YmVmb3JlICJtZSIKY29uZmlndXJlOjEyNTY3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgI2lmbmRlZiBfX2NwbHVzcGx1cwp8ICAgY2hva2UgbWUKfCAjZW5kaWYKY29u ZmlndXJlOjEyNzAyOiBjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGNjCmNvbmZpZ3VyZTox Mjc5MjogcmVzdWx0OiBub25lCmNvbmZpZ3VyZToxMjgyMTogY2hlY2tpbmcgZm9yIGNjIGRlcGVu ZCBmbGFnCmNvbmZpZ3VyZToxMjgzMzogY2MgLU0gY29uZnRlc3QuYwpjb25maWd1cmU6MTI4MzY6 ICQ/ID0gMApjb25maWd1cmU6MTI4NTA6IHJlc3VsdDogLU0KY29uZmlndXJlOjEyODcwOiBjaGVj a2luZyBmb3IgYWZvcGVuIGluIC1scwpjb25maWd1cmU6MTI5MDA6IGNjIC1vIGNvbmZ0ZXN0IC1n IC1PMiAgIGNvbmZ0ZXN0LmMgLWxzICAgPiY1CmxkOiBmYXRhbDogbGlicmFyeSAtbHM6IG5vdCBm b3VuZApsZDogZmF0YWw6IEZpbGUgcHJvY2Vzc2luZyBlcnJvcnMuIE5vIG91dHB1dCB3cml0dGVu IHRvIGNvbmZ0ZXN0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy ZToxMjkwNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVO TERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4y NyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVO RE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAz CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01L VkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhFRVhUICIiCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRp Zgp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw ZSBvZiBhIGdjYzIKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgYWZvcGVuICgpOwp8IGludAp8IG1haW4gKCkK fCB7CnwgYWZvcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI5MzI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMjIxOiBjaGVja2luZyBmb3IgRUJDRElDCmNvbmZpZ3Vy ZToxMzIzOTogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzozMDozODogX19BU0NJSV9fL2dl bmVyYXRlX2Vycm9yLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEzMjQ1 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BB Q0tBR0UgIk9wZW5MREFQIgp8ICNkZWZpbmUgT1BFTkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNk ZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTiAyMDMyNwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVS U0lPTl9NQUpPUiAyCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVm aW5lIExEQVBfVkVORE9SX1ZFUlNJT05fUEFUQ0ggMjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9O IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf RExGQ05fSCAxCnwgI2RlZmluZSBFWEVFWFQgIiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg CnwgI2lmICEoJ00nID09IDB4ZDQpCnwgI2luY2x1ZGUgPF9fQVNDSUlfXy9nZW5lcmF0ZV9lcnJv ci5oPgp8ICNlbmRpZgp8IApjb25maWd1cmU6MTMyNjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjEz Mjc2OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6MTMyOTI6IGNj IC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMzI5ODogJD8gPSAwCmNvbmZpZ3VyZToxMzM4OTog Y2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMzM5Mjog JD8gPSAwCmNvbmZpZ3VyZToxMzM5NDogLi9jb25mdGVzdApjb25maWd1cmU6MTMzOTc6ICQ/ID0g MApjb25maWd1cmU6MTM0MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQzNjogY2hlY2tpbmcg Zm9yIGRpcmVudC5oIHRoYXQgZGVmaW5lcyBESVIKY29uZmlndXJlOjEzNDYwOiBjYyAtYyAtZyAt TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMzQ2NjogJD8gPSAwCmNvbmZpZ3VyZToxMzQ3 MDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjEzNDcz OiAkPyA9IDAKY29uZmlndXJlOjEzNDc2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjEz NDc5OiAkPyA9IDAKY29uZmlndXJlOjEzNDkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM1MDM6 IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgb3BlbmRpcgpjb25maWd1cmU6MTM1MzM6 IGNjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MTM1Mzk6 ICQ/ID0gMApjb25maWd1cmU6MTM1NDM6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl c3QuZXJyCmNvbmZpZ3VyZToxMzU0NjogJD8gPSAwCmNvbmZpZ3VyZToxMzU0OTogdGVzdCAtcyBj b25mdGVzdApjb25maWd1cmU6MTM1NTI6ICQ/ID0gMApjb25maWd1cmU6MTM2MjI6IHJlc3VsdDog bm9uZSByZXF1aXJlZApjb25maWd1cmU6MTM3NTg6IGNoZWNraW5nIGZvciBzeXMvd2FpdC5oIHRo YXQgaXMgUE9TSVguMSBjb21wYXRpYmxlCmNvbmZpZ3VyZToxMzc4OTogY2MgLWMgLWcgLU8yICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTM3OTU6ICQ/ID0gMApjb25maWd1cmU6MTM3OTk6IHRl c3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxMzgwMjogJD8g PSAwCmNvbmZpZ3VyZToxMzgwNTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxMzgwODog JD8gPSAwCmNvbmZpZ3VyZToxMzgxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzODI5OiBjaGVj a2luZyB3aGV0aGVyIHRlcm1pb3MuaCBkZWZpbmVzIFRJT0NHV0lOU1oKY29uZmlndXJlOjEzODU2 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMDI6IGNoZWNraW5nIGFycGEvaW5ldC5oIHVzYWJp bGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAh IC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6 IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQw NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgYXJwYS9pbmV0LmggcHJl c2VuY2UKY29uZmlndXJlOjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQwNjM6 ICQ/ID0gMApjb25maWd1cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODogY2hl Y2tpbmcgZm9yIGFycGEvaW5ldC5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0MDAyOiBjaGVja2luZyBhcnBhL25hbWVzZXIuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0 MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAw CmNvbmZpZ3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIK Y29uZmlndXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8KY29uZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQwNDc6IGNoZWNraW5nIGFycGEvbmFtZXNlci5oIHByZXNlbmNlCmNvbmZpZ3Vy ZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmln dXJlOjE0MDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBhcnBh L25hbWVzZXIuaApjb25maWd1cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAwMjog Y2hlY2tpbmcgYXNzZXJ0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDAxNDogY2MgLWMgLWcgLU8y ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQwMjA6ICQ/ID0gMApjb25maWd1cmU6MTQwMjQ6 IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDAyNzog JD8gPSAwCmNvbmZpZ3VyZToxNDAzMDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxNDAz MzogJD8gPSAwCmNvbmZpZ3VyZToxNDA0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDQ3OiBj aGVja2luZyBhc3NlcnQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQwNTc6IGNjIC1FICBjb25mdGVz dC5jCmNvbmZpZ3VyZToxNDA2MzogJD8gPSAwCmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0MTE4OiBjaGVja2luZyBmb3IgYXNzZXJ0LmgKY29uZmlndXJlOjE0MTI1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMDI6IGNoZWNraW5nIGJpdHMvdHlwZXMuaCB1c2FiaWxp dHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6Njg6MjQ6IGJpdHMvdHlwZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1 cmU6MTQwMjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgT1BF TkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBPUEVOTERBUF9WRVJTSU9OICIyLjMu MjciCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIwMzI3CnwgI2RlZmluZSBMREFQX1ZF TkRPUl9WRVJTSU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUlOT1Ig Mwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRDSCAyNwp8ICNkZWZpbmUgSEFWRV9N S1ZFUlNJT04gMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEVYRUVYVCAiIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9JTkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX05BTUVT RVJfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWYgSEFWRV9T VFJJTkdfSAp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZWxzZQp8ICMgaWYg SEFWRV9TVERJTlRfSAp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPgp8ICMgZW5kaWYKfCAjZW5kaWYK fCAjaWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lu Y2x1ZGUgPGJpdHMvdHlwZXMuaD4KY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNDA0NzogY2hlY2tpbmcgYml0cy90eXBlcy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1Nzog Y2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzozNDoyNDogYml0cy90eXBlcy5oOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDA2MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVm aW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJ T04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUg TERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9O X1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhF RVhUICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAx CnwgI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8Yml0cy90eXBlcy5oPgpjb25m aWd1cmU6MTQwODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MTE4OiBjaGVja2luZyBmb3IgYml0 cy90eXBlcy5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQwMDI6IGNo ZWNraW5nIGNvbmlvLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDAxNDogY2MgLWMgLWcgLU8yICBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY4OjE5OiBjb25pby5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9QRU5M REFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAzMjcK fCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9WRU5E T1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3 CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhFRVhUICIiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2RlZmlu ZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJT CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg IyBpZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3Mu aD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQu aD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8Y29uaW8uaD4KY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgY29uaW8uaCBwcmVzZW5jZQpjb25maWd1cmU6 MTQwNTc6IGNjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MzQ6MTk6IGNvbmlvLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0MDYzOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0UgIk9wZW5MREFQIgp8ICNk ZWZpbmUgT1BFTkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVS U0lPTiAyMDMyNwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NQUpPUiAyCnwgI2RlZmlu ZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJ T05fUEFUQ0ggMjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBF WEVFWFQgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9I IDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9OQU1FU0VSX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRf SCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxjb25pby5oPgpjb25maWd1 cmU6MTQwODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MTE4OiBjaGVja2luZyBmb3IgY29uaW8u aApjb25maWd1cmU6MTQxMjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDAyOiBjaGVja2luZyBj cnlwdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJ CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25m aWd1cmU6MTQwMzA6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApj b25maWd1cmU6MTQwNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgY3J5 cHQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQwNTc6IGNjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3Vy ZToxNDA2MzogJD8gPSAwCmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 MTE4OiBjaGVja2luZyBmb3IgY3J5cHQuaApjb25maWd1cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgZGlyZWN0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDAx NDogY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY5OjIwOiBkaXJlY3Qu aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTQwMjA6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxE QVAiCnwgI2RlZmluZSBPUEVOTERBUF9WRVJTSU9OICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZF TkRPUl9WRVJTSU9OIDIwMzI3CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIK fCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5E T1JfVkVSU0lPTl9QQVRDSCAyNwp8ICNkZWZpbmUgSEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAj ZGVmaW5lIEVYRUVYVCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQ QV9JTkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfSCAxCnwgI2RlZmluZSBIQVZF X0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNs dWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RE TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhB VkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vsc2UKfCAj IGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2Vu ZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 ICNpbmNsdWRlIDxkaXJlY3QuaD4KY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNDA0NzogY2hlY2tpbmcgZGlyZWN0LmggcHJlc2VuY2UKY29uZmlndXJlOjE0MDU3OiBjYyAt RSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjM1OjIwOiBkaXJlY3QuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQpjb25maWd1cmU6MTQwNjM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBPUEVO TERBUF9WRVJTSU9OICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIwMzI3 CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBfVkVO RE9SX1ZFUlNJT05fTUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRDSCAy Nwp8ICNkZWZpbmUgSEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEVYRUVYVCAiIgp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9JTkVUX0ggMQp8ICNkZWZp bmUgSEFWRV9BUlBBX05BTUVTRVJfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVm aW5lIEhBVkVfQ1JZUFRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxk aXJlY3QuaD4KY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDExODogY2hl Y2tpbmcgZm9yIGRpcmVjdC5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiBubwpjb25maWd1cmU6 MTQwMDI6IGNoZWNraW5nIGVycm5vLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDAxNDogY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQwMjA6ICQ/ID0gMApjb25maWd1cmU6 MTQwMjQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTox NDAyNzogJD8gPSAwCmNvbmZpZ3VyZToxNDAzMDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3Vy ZToxNDAzMzogJD8gPSAwCmNvbmZpZ3VyZToxNDA0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 MDQ3OiBjaGVja2luZyBlcnJuby5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNv bmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBlcnJuby5oCmNvbmZpZ3VyZToxNDEy NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDAyOiBjaGVja2luZyBmY250bC5oIHVzYWJpbGl0 eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1z IGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6IHRl c3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQwNDM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgZmNudGwuaCBwcmVzZW5jZQpj b25maWd1cmU6MTQwNTc6IGNjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDA2MzogJD8gPSAw CmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MTE4OiBjaGVja2luZyBm b3IgZmNudGwuaApjb25maWd1cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAwMjog Y2hlY2tpbmcgZmlsaW8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzE6MTk6IGZpbGlvLmg6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKY29uZmlndXJlOjE0MDIwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0UgIk9wZW5MREFQIgp8ICNkZWZpbmUgT1BF TkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTiAyMDMy Nwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NQUpPUiAyCnwgI2RlZmluZSBMREFQX1ZF TkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fUEFUQ0gg MjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBFWEVFWFQgIiIK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVm aW5lIEhBVkVfQVJQQV9OQU1FU0VSX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0NSWVBUX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5k aWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRp Zgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERD X0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAj IGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBp bmNsdWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxmaWxpby5oPgpjb25m aWd1cmU6MTQwNDM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDQ3OiBjaGVja2luZyBmaWxpby5o IHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoz NzoxOTogZmlsaW8uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTQwNjM6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAg Ki8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgT1BFTkxEQVBfUEFD S0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBPUEVOTERBUF9WRVJTSU9OICIyLjMuMjciCnwgI2Rl ZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIwMzI3CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJT SU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUlOT1IgMwp8ICNkZWZp bmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRDSCAyNwp8ICNkZWZpbmUgSEFWRV9NS1ZFUlNJT04g MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9E TEZDTl9IIDEKfCAjZGVmaW5lIEVYRUVYVCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfQVJQQV9JTkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfSCAxCnwg I2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPGZpbGlvLmg+CmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiBu bwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBmaWxpby5oCmNvbmZpZ3VyZToxNDEyNTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQwMDI6IGNoZWNraW5nIGdldG9wdC5oIHVzYWJpbGl0eQpj b25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0 MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNv bmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6IHRlc3Qg LXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQwNDM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgZ2V0b3B0LmggcHJlc2VuY2UKY29u ZmlndXJlOjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQwNjM6ICQ/ID0gMApj b25maWd1cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODogY2hlY2tpbmcgZm9y IGdldG9wdC5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDAyOiBj aGVja2luZyBncnAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDogdGVz dCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAkPyA9 IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMzOiAk PyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNoZWNr aW5nIGdycC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29u ZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQxMTg6IGNoZWNraW5nIGZvciBncnAuaApjb25maWd1cmU6MTQxMjU6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgaW8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0 OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzM6MTY6IGlvLmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0MDIwOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0UgIk9wZW5MREFQIgp8 ICNkZWZpbmUgT1BFTkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUgTERBUF9WRU5ET1Jf VkVSU0lPTiAyMDMyNwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NQUpPUiAyCnwgI2Rl ZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZF UlNJT05fUEFUQ0ggMjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmlu ZSBFWEVFWFQgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5F VF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9OQU1FU0VSX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NF UlRfSCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEK fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfR1JQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh U1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAj IGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19I CnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwg IyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNU RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8aW8uaD4KY29u ZmlndXJlOjE0MDQzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgaW8uaCBw cmVzZW5jZQpjb25maWd1cmU6MTQwNTc6IGNjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6Mzk6 MTY6IGlvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0MDYzOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwg CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0Ug Ik9wZW5MREFQIgp8ICNkZWZpbmUgT1BFTkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUg TERBUF9WRU5ET1JfVkVSU0lPTiAyMDMyNwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9N QUpPUiAyCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5lIExE QVBfVkVORE9SX1ZFUlNJT05fUEFUQ0ggMjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f SCAxCnwgI2RlZmluZSBFWEVFWFQgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9OQU1FU0VSX0ggMQp8ICNkZWZp bmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUX0ggMQp8ICNkZWZpbmUgSEFW RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8aW8uaD4KY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDEx ODogY2hlY2tpbmcgZm9yIGlvLmgKY29uZmlndXJlOjE0MTI1OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNDAwMjogY2hlY2tpbmcgbGlidXRpbC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQwMTQ6IGNj IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3MzoyMTogbGlidXRpbC5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIK fCAjZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9S X1ZFUlNJT04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNk ZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9W RVJTSU9OX1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZp bmUgRVhFRVhUICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lO RVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNT RVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dSUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0 ZGlvLmg+CnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+Cnwg I2VuZGlmCnwgI2lmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNs dWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5H U19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERJTlRfSAp8 ICMgIGluY2x1ZGUgPHN0ZGludC5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWYgSEFWRV9VTklT VERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGxpYnV0aWwu aD4KY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcg bGlidXRpbC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29u ZnRlc3QuYzozOToyMTogbGlidXRpbC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZp Z3VyZToxNDA2MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBP UEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04gIjIu My4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAzMjcKfCAjZGVmaW5lIExEQVBf VkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NSU5P UiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3CnwgI2RlZmluZSBIQVZF X01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhFRVhUICIiCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfTkFN RVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DUllQVF9I IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGxpYnV0aWwuaD4KY29uZmlndXJlOjE0MDgzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNDExODogY2hlY2tpbmcgZm9yIGxpYnV0aWwuaApjb25maWd1cmU6 MTQxMjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDAyOiBjaGVja2luZyBsaW1pdHMuaCB1c2Fi aWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToxNDAyMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8IHRlc3Qg ISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJlOjE0MDMw OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmlndXJlOjE0 MDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNoZWNraW5nIGxpbWl0cy5oIHByZXNl bmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAk PyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNr aW5nIGZvciBsaW1pdHMuaApjb25maWd1cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NDAwMjogY2hlY2tpbmcgbG9jYWxlLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDAxNDogY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQwMjA6ICQ/ID0gMApjb25maWd1cmU6 MTQwMjQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTox NDAyNzogJD8gPSAwCmNvbmZpZ3VyZToxNDAzMDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3Vy ZToxNDAzMzogJD8gPSAwCmNvbmZpZ3VyZToxNDA0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 MDQ3OiBjaGVja2luZyBsb2NhbGUuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQwNTc6IGNjIC1FICBj b25mdGVzdC5jCmNvbmZpZ3VyZToxNDA2MzogJD8gPSAwCmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0MTE4OiBjaGVja2luZyBmb3IgbG9jYWxlLmgKY29uZmlndXJlOjE0 MTI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMDI6IGNoZWNraW5nIG1hbGxvYy5oIHVzYWJp bGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAh IC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6 IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQw NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgbWFsbG9jLmggcHJlc2Vu Y2UKY29uZmlndXJlOjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQwNjM6ICQ/ ID0gMApjb25maWd1cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODogY2hlY2tp bmcgZm9yIG1hbGxvYy5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz OTkzOiBjaGVja2luZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjEzOTk4OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQwMDI6IGNoZWNraW5nIHBzYXAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0 OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzc6MTg6IHBzYXAuaDog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTQwMjA6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAi CnwgI2RlZmluZSBPUEVOTERBUF9WRVJTSU9OICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZFTkRP Ul9WRVJTSU9OIDIwMzI3CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIKfCAj ZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5ET1Jf VkVSU0lPTl9QQVRDSCAyNwp8ICNkZWZpbmUgSEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVm aW5lIEVYRUVYVCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9J TkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfSCAxCnwgI2RlZmluZSBIQVZFX0FT U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIVNURENfSEVB REVSUyAmJiBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8 ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HU19ICnwgIyBp bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERJTlRfSAp8ICMgIGluY2x1 ZGUgPHN0ZGludC5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHBzYXAuaD4KY29uZmlndXJl OjE0MDQzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgcHNhcC5oIHByZXNl bmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo0MzoxODog cHNhcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDA2MzogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJP cGVuTERBUCIKfCAjZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExE QVBfVkVORE9SX1ZFUlNJT04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFK T1IgMgp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQ X1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0gg MQp8ICNkZWZpbmUgRVhFRVhUICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9BUlBBX0lORVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5l IEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVf RVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8cHNh cC5oPgpjb25maWd1cmU6MTQwODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MTE4OiBjaGVja2lu ZyBmb3IgcHNhcC5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQwMDI6 IGNoZWNraW5nIHB3ZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0 ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ ID0gMApjb25maWd1cmU6MTQwMzA6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6 ICQ/ID0gMApjb25maWd1cmU6MTQwNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hl Y2tpbmcgcHdkLmggcHJlc2VuY2UKY29uZmlndXJlOjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpj b25maWd1cmU6MTQwNjM6ICQ/ID0gMApjb25maWd1cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNDExODogY2hlY2tpbmcgZm9yIHB3ZC5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE0MDAyOiBjaGVja2luZyBwcm9jZXNzLmggdXNhYmlsaXR5CmNvbmZpZ3Vy ZToxNDAxNDogY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc4OjIxOiBw cm9jZXNzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0MDIwOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwg CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0Ug Ik9wZW5MREFQIgp8ICNkZWZpbmUgT1BFTkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUg TERBUF9WRU5ET1JfVkVSU0lPTiAyMDMyNwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9N QUpPUiAyCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5lIExE QVBfVkVORE9SX1ZFUlNJT05fUEFUQ0ggMjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f SCAxCnwgI2RlZmluZSBFWEVFWFQgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9OQU1FU0VSX0ggMQp8ICNkZWZp bmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUX0ggMQp8ICNkZWZpbmUgSEFW RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAj IGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TVEFUX0gKfCAj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmIFNURENfSEVBREVSUwp8ICMgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu ZGlmCnwgI2lmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZWxz ZQp8ICMgaWYgSEFWRV9TVERJTlRfSAp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPgp8ICMgZW5kaWYK fCAjZW5kaWYKfCAjaWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2Vu ZGlmCnwgI2luY2x1ZGUgPHByb2Nlc3MuaD4KY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgcHJvY2Vzcy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1 NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo0NDoyMTogcHJvY2Vzcy5oOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDA2MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVm aW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJ T04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUg TERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9O X1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhF RVhUICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAx CnwgI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0gg MQp8ICNkZWZpbmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxwcm9jZXNzLmg+CmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTQx MTg6IGNoZWNraW5nIGZvciBwcm9jZXNzLmgKY29uZmlndXJlOjE0MTI1OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgc2d0dHkuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0 OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAwCmNv bmZpZ3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29u ZmlndXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8K Y29uZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQwNDc6IGNoZWNraW5nIHNndHR5LmggcHJlc2VuY2UKY29uZmlndXJlOjE0MDU3OiBj YyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQwNjM6ICQ/ID0gMApjb25maWd1cmU6MTQwODM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODogY2hlY2tpbmcgZm9yIHNndHR5LmgKY29uZmln dXJlOjE0MTI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMDI6IGNoZWNraW5nIHNoYWRvdy5o IHVzYWJpbGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwg dGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6 MTQwMzA6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1 cmU6MTQwNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgc2hhZG93Lmgg cHJlc2VuY2UKY29uZmlndXJlOjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQw NjM6ICQ/ID0gMApjb25maWd1cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODog Y2hlY2tpbmcgZm9yIHNoYWRvdy5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0MDAyOiBjaGVja2luZyBzdGRkZWYuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0OiBj YyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAwCmNvbmZp Z3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln dXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29u ZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQwNDc6IGNoZWNraW5nIHN0ZGRlZi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2Mg LUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBzdGRkZWYuaApjb25maWd1 cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzk5MzogY2hlY2tpbmcgZm9yIHN0cmlu Zy5oCmNvbmZpZ3VyZToxMzk5ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTkzOiBjaGVja2lu ZyBmb3Igc3RyaW5ncy5oCmNvbmZpZ3VyZToxMzk5ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 MDAyOiBjaGVja2luZyBzeXNleGl0cy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1j IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJl OjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6 MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1 cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQwNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NDA0NzogY2hlY2tpbmcgc3lzZXhpdHMuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQwNTc6IGNjIC1F ICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDA2MzogJD8gPSAwCmNvbmZpZ3VyZToxNDA4MzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE0MTE4OiBjaGVja2luZyBmb3Igc3lzZXhpdHMuaApjb25maWd1 cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgc3lzL2ZpbGUu aCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8 IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJl OjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmln dXJlOjE0MDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNoZWNraW5nIHN5cy9maWxl LmggcHJlc2VuY2UKY29uZmlndXJlOjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6 MTQwNjM6ICQ/ID0gMApjb25maWd1cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDEx ODogY2hlY2tpbmcgZm9yIHN5cy9maWxlLmgKY29uZmlndXJlOjE0MTI1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQwMDI6IGNoZWNraW5nIHN5cy9maWxpby5oIHVzYWJpbGl0eQpjb25maWd1cmU6 MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MDIwOiAkPyA9 IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy cgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6IHRlc3QgLXMgY29uZnRl c3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQwNDM6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgc3lzL2ZpbGlvLmggcHJlc2VuY2UKY29uZmlndXJl OjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQwNjM6ICQ/ID0gMApjb25maWd1 cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODogY2hlY2tpbmcgZm9yIHN5cy9m aWxpby5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDAyOiBjaGVj a2luZyBzeXMvZXJybm8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDog dGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAk PyA9IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMz OiAkPyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNo ZWNraW5nIHN5cy9lcnJuby5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0 ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBzeXMvZXJybm8uaApjb25maWd1cmU6MTQx MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgc3lzL2lvY3RsLmggdXNh YmlsaXR5CmNvbmZpZ3VyZToxNDAxNDogY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MTQwMjA6ICQ/ID0gMApjb25maWd1cmU6MTQwMjQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0 ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDAyNzogJD8gPSAwCmNvbmZpZ3VyZToxNDAz MDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxNDAzMzogJD8gPSAwCmNvbmZpZ3VyZTox NDA0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDQ3OiBjaGVja2luZyBzeXMvaW9jdGwuaCBw cmVzZW5jZQpjb25maWd1cmU6MTQwNTc6IGNjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDA2 MzogJD8gPSAwCmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MTE4OiBj aGVja2luZyBmb3Igc3lzL2lvY3RsLmgKY29uZmlndXJlOjE0MTI1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQwMDI6IGNoZWNraW5nIHN5cy9wYXJhbS5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQw MTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MDIwOiAkPyA9IDAK Y29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpj b25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6IHRlc3QgLXMgY29uZnRlc3Qu bwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQwNDM6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgc3lzL3BhcmFtLmggcHJlc2VuY2UKY29uZmlndXJlOjE0 MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQwNjM6ICQ/ID0gMApjb25maWd1cmU6 MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODogY2hlY2tpbmcgZm9yIHN5cy9wYXJh bS5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDAyOiBjaGVja2lu ZyBzeXMvcmVzb3VyY2UuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDog dGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAk PyA9IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMz OiAkPyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNo ZWNraW5nIHN5cy9yZXNvdXJjZS5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNv bmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBzeXMvcmVzb3VyY2UuaApjb25maWd1 cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgc3lzL3NlbGVj dC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkg fHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1 cmU6MTQwMzA6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25m aWd1cmU6MTQwNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgc3lzL3Nl bGVjdC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmln dXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQxMTg6IGNoZWNraW5nIGZvciBzeXMvc2VsZWN0LmgKY29uZmlndXJlOjE0MTI1OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQwMDI6IGNoZWNraW5nIHN5cy9zb2NrZXQuaCB1c2FiaWxpdHkKY29u ZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAy MDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25m dGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1z IGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNoZWNraW5nIHN5cy9zb2NrZXQuaCBwcmVzZW5jZQpj b25maWd1cmU6MTQwNTc6IGNjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDA2MzogJD8gPSAw CmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MTE4OiBjaGVja2luZyBm b3Igc3lzL3NvY2tldC5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz OTkzOiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6MTM5OTg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgc3lzL3N5c2xvZy5oIHVzYWJpbGl0eQpjb25maWd1 cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MDIwOiAk PyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0 LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0gMApjb25maWd1cmU6MTQwMzA6IHRlc3QgLXMgY29u ZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ID0gMApjb25maWd1cmU6MTQwNDM6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tpbmcgc3lzL3N5c2xvZy5oIHByZXNlbmNlCmNvbmZp Z3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29u ZmlndXJlOjE0MDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBz eXMvc3lzbG9nLmgKY29uZmlndXJlOjE0MTI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMDI6 IGNoZWNraW5nIHN5cy90aW1lLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDAxNDogY2MgLWMgLWcg LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQwMjA6ICQ/ID0gMApjb25maWd1cmU6MTQw MjQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDAy NzogJD8gPSAwCmNvbmZpZ3VyZToxNDAzMDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTox NDAzMzogJD8gPSAwCmNvbmZpZ3VyZToxNDA0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDQ3 OiBjaGVja2luZyBzeXMvdGltZS5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNv bmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBzeXMvdGltZS5oCmNvbmZpZ3VyZTox NDEyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTkzOiBjaGVja2luZyBmb3Igc3lzL3R5cGVz LmgKY29uZmlndXJlOjEzOTk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMDI6IGNoZWNraW5n IHN5cy91aW8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDogdGVzdCAt eiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAkPyA9IDAK Y29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMzOiAkPyA9 IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNoZWNraW5n IHN5cy91aW8uaCBwcmVzZW5jZQpjb25maWd1cmU6MTQwNTc6IGNjIC1FICBjb25mdGVzdC5jCmNv bmZpZ3VyZToxNDA2MzogJD8gPSAwCmNvbmZpZ3VyZToxNDA4MzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0MTE4OiBjaGVja2luZyBmb3Igc3lzL3Vpby5oCmNvbmZpZ3VyZToxNDEyNTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0MDAyOiBjaGVja2luZyBzeXNsb2cuaCB1c2FiaWxpdHkKY29uZmln dXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAyMDog JD8gPSAwCmNvbmZpZ3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVz dC5lcnIKY29uZmlndXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJlOjE0MDMwOiB0ZXN0IC1zIGNv bmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmlndXJlOjE0MDQzOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQwNDc6IGNoZWNraW5nIHN5c2xvZy5oIHByZXNlbmNlCmNvbmZpZ3Vy ZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmln dXJlOjE0MDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciBzeXNs b2cuaApjb25maWd1cmU6MTQxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAwMjogY2hlY2tp bmcgdGVybWlvcy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQwMTQ6IGNjIC1jIC1nIC1PMiAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MDIwOiAkPyA9IDAKY29uZmlndXJlOjE0MDI0OiB0ZXN0 IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQwMjc6ICQ/ID0g MApjb25maWd1cmU6MTQwMzA6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQwMzM6ICQ/ ID0gMApjb25maWd1cmU6MTQwNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA0NzogY2hlY2tp bmcgdGVybWlvcy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDA1NzogY2MgLUUgIGNvbmZ0ZXN0LmMK Y29uZmlndXJlOjE0MDYzOiAkPyA9IDAKY29uZmlndXJlOjE0MDgzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciB0ZXJtaW9zLmgKY29uZmlndXJlOjE0MTI1OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTM5OTM6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6 MTM5OTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAwMjogY2hlY2tpbmcgdXRpbWUuaCB1c2Fi aWxpdHkKY29uZmlndXJlOjE0MDE0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToxNDAyMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAyNDogdGVzdCAteiAKCQkJIHx8IHRlc3Qg ISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MDI3OiAkPyA9IDAKY29uZmlndXJlOjE0MDMw OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0MDMzOiAkPyA9IDAKY29uZmlndXJlOjE0 MDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDc6IGNoZWNraW5nIHV0aW1lLmggcHJlc2Vu Y2UKY29uZmlndXJlOjE0MDU3OiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQwNjM6ICQ/ ID0gMApjb25maWd1cmU6MTQwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDExODogY2hlY2tp bmcgZm9yIHV0aW1lLmgKY29uZmlndXJlOjE0MTI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQy OTc6IGNoZWNraW5nIGZvciByZXNvbHYuaApjb25maWd1cmU6MTQzMTU6IGNjIC1jIC1nIC1PMiAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MzIxOiAkPyA9IDAKY29uZmlndXJlOjE0MzI1OiB0 ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQzMjg6ICQ/ ID0gMApjb25maWd1cmU6MTQzMzE6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTQzMzQ6 ICQ/ID0gMApjb25maWd1cmU6MTQzNDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDM2MTogY2hl Y2tpbmcgZm9yIG5ldGluZXQvdGNwLmgKY29uZmlndXJlOjE0Mzc5OiBjYyAtYyAtZyAtTzIgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDM4NTogJD8gPSAwCmNvbmZpZ3VyZToxNDM4OTogdGVz dCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0MzkyOiAkPyA9 IDAKY29uZmlndXJlOjE0Mzk1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE0Mzk4OiAk PyA9IDAKY29uZmlndXJlOjE0NDA5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjU6IGNoZWNr aW5nIGZvciBzeXMvdWNyZWQuaApjb25maWd1cmU6MTQ0NDU6IGNjIC1jIC1nIC1PMiAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzoxMDg6MjM6IHN5cy91Y3JlZC5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDQ1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9QRU5M REFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAzMjcK fCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9WRU5E T1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3 CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhFRVhUICIiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2RlZmlu ZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp bmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9I IDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NHVFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9T SEFET1dfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxJT19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NZU0xPR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT TE9HX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9SRVNPTFZfSCAxCnwg I2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklO R19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFW RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZF X1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfUEFSQU1fSAp8ICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KfCAjZW5kaWYKfCAKfCAK fCAjaW5jbHVkZSA8c3lzL3VjcmVkLmg+CmNvbmZpZ3VyZToxNDQ3NTogcmVzdWx0OiBubwpjb25m aWd1cmU6MTQ0OTM6IGNoZWNraW5nIGZvciBzaWdhY3Rpb24KY29uZmlndXJlOjE0NTUwOiBjYyAt byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjE0NTU2OiAkPyA9 IDAKY29uZmlndXJlOjE0NTYwOiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy cgpjb25maWd1cmU6MTQ1NjM6ICQ/ID0gMApjb25maWd1cmU6MTQ1NjY6IHRlc3QgLXMgY29uZnRl c3QKY29uZmlndXJlOjE0NTY5OiAkPyA9IDAKY29uZmlndXJlOjE0NTgxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQ0OTM6IGNoZWNraW5nIGZvciBzaWdzZXQKY29uZmlndXJlOjE0NTUwOiBjYyAt byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjE0NTU2OiAkPyA9 IDAKY29uZmlndXJlOjE0NTYwOiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy cgpjb25maWd1cmU6MTQ1NjM6ICQ/ID0gMApjb25maWd1cmU6MTQ1NjY6IHRlc3QgLXMgY29uZnRl c3QKY29uZmlndXJlOjE0NTY5OiAkPyA9IDAKY29uZmlndXJlOjE0NTgxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQ3NTk6IGNoZWNraW5nIGZvciBzb2NrZXQKY29uZmlndXJlOjE0ODE2OiBjYyAt byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKVW5kZWZpbmVkCQkJZmlyc3QgcmVm ZXJlbmNlZAogc3ltYm9sICAJCQkgICAgaW4gZmlsZQpzb2NrZXQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvdmFyL3RtcC8vY2NLRHBzTUYubwpsZDogZmF0YWw6IFN5bWJvbCByZWZlcmVu Y2luZyBlcnJvcnMuIE5vIG91dHB1dCB3cml0dGVuIHRvIGNvbmZ0ZXN0CmNvbGxlY3QyOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDgyMjogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAj ZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZF UlNJT04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZp bmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJT SU9OX1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUg RVhFRVhUICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRf SCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJU X0ggMQp8ICNkZWZpbmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9M T0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NHVFRZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TSEFET1dfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19GSUxJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfSU9DVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NZU0xPR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTTE9HX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9S RVNPTFZfSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8ICNkZWZpbmUgSEFWRV9T SUdBQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAvKiBEZWZpbmUgc29ja2V0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs aW1pdHMuaD4gZGVjbGFyZXMgc29ja2V0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxp bWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc29ja2V0IGlubm9j dW91c19zb2NrZXQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3 aXRoIGNoYXIgc29ja2V0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFz c2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4 aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NU RENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5o Pgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzb2NrZXQKfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2NwbHVz cGx1cwp8IGV4dGVybiAiQyIKfCB7CnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hh ciBzb2NrZXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3Rh cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg ZGVmaW5lZCAoX19zdHViX3NvY2tldCkgfHwgZGVmaW5lZCAoX19zdHViX19fc29ja2V0KQp8IGNo b2tlIG1lCnwgI2Vsc2UKfCBjaGFyICgqZikgKCkgPSBzb2NrZXQ7CnwgI2VuZGlmCnwgI2lmZGVm IF9fY3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IGYgIT0gc29ja2V0Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ4NDc6IHJl c3VsdDogbm8KY29uZmlndXJlOjE0ODU0OiBjaGVja2luZyBmb3IgbWFpbiBpbiAtbHNvY2tldApj b25maWd1cmU6MTQ4Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxzb2Nr ZXQgICA+JjUKY29uZmlndXJlOjE0ODg0OiAkPyA9IDAKY29uZmlndXJlOjE0ODg4OiB0ZXN0IC16 IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ4OTE6ICQ/ID0gMApj b25maWd1cmU6MTQ4OTQ6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjE0ODk3OiAkPyA9IDAK Y29uZmlndXJlOjE0OTEwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ5MjI6IGNoZWNraW5nIGZv ciBtYWluIGluIC1sbmV0CmNvbmZpZ3VyZToxNDk0NjogY2MgLW8gY29uZnRlc3QgLWcgLU8yICAg Y29uZnRlc3QuYyAtbG5ldCAgLWxzb2NrZXQgID4mNQpsZDogZmF0YWw6IGxpYnJhcnkgLWxuZXQ6 IG5vdCBmb3VuZApsZDogZmF0YWw6IEZpbGUgcHJvY2Vzc2luZyBlcnJvcnMuIE5vIG91dHB1dCB3 cml0dGVuIHRvIGNvbmZ0ZXN0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxNDk1MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04g IjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAzMjcKfCAjZGVmaW5lIExE QVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9N SU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3CnwgI2RlZmluZSBI QVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhFRVhUICIiCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFf TkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DUllQ VF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZF X01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1NHVFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TSEFET1dfSCAxCnwg I2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxJT19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0xPR19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTTE9HX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9SRVNPTFZfSCAxCnwgI2RlZmluZSBIQVZF X05FVElORVRfVENQX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQp8ICNkZWZpbmUgSEFW RV9TSUdTRVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJTT0NLRVQgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IG1haW4gKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDk3ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ5OTA6IGNo ZWNraW5nIGZvciBtYWluIGluIC1sbnNsX3MKY29uZmlndXJlOjE1MDE0OiBjYyAtbyBjb25mdGVz dCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsX3MgIC1sc29ja2V0ICA+JjUKbGQ6IGZhdGFsOiBs aWJyYXJ5IC1sbnNsX3M6IG5vdCBmb3VuZApsZDogZmF0YWw6IEZpbGUgcHJvY2Vzc2luZyBlcnJv cnMuIE5vIG91dHB1dCB3cml0dGVuIHRvIGNvbmZ0ZXN0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTAyMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9Q RU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAz MjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9W RU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENI IDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhFRVhUICIi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2Rl ZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk ZWZpbmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dS UF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NHVFRZX0ggMQp8ICNkZWZpbmUgSEFW RV9TSEFET1dfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElU U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxJ T19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9D VExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NZU0xPR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTTE9HX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9SRVNPTFZfSCAx CnwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04g MQp8ICNkZWZpbmUgSEFWRV9TSUdTRVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJTT0NLRVQgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IG1haW4gKCk7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTA0NjogcmVzdWx0OiBubwpjb25m aWd1cmU6MTUwNTg6IGNoZWNraW5nIGZvciBtYWluIGluIC1sbnNsCmNvbmZpZ3VyZToxNTA4Mjog Y2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbG5zbCAgLWxzb2NrZXQgID4mNQpj b25maWd1cmU6MTUwODg6ICQ/ID0gMApjb25maWd1cmU6MTUwOTI6IHRlc3QgLXogCgkJCSB8fCB0 ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNTA5NTogJD8gPSAwCmNvbmZpZ3VyZTox NTA5ODogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTUxMDE6ICQ/ID0gMApjb25maWd1cmU6 MTUxMTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTEyNjogY2hlY2tpbmcgZm9yIHNvY2tldCBp biAtbGluZXQKY29uZmlndXJlOjE1MTU2OiBjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz dC5jIC1saW5ldCAgLWxuc2wgLWxzb2NrZXQgID4mNQpsZDogZmF0YWw6IGxpYnJhcnkgLWxpbmV0 OiBub3QgZm91bmQKbGQ6IGZhdGFsOiBGaWxlIHByb2Nlc3NpbmcgZXJyb3JzLiBObyBvdXRwdXQg d3JpdHRlbiB0byBjb25mdGVzdApjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj b25maWd1cmU6MTUxNjI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBPUEVOTERBUF9WRVJTSU9O ICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIwMzI3CnwgI2RlZmluZSBM REFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05f TUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRDSCAyNwp8ICNkZWZpbmUg SEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEVYRUVYVCAiIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9JTkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBB X05BTUVTRVJfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JZ UFRfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9TR1RUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU0hBRE9XX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMSU9fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0lPQ1RMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNMT0dfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU0xPR19IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUkVTT0xWX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDEKfCAjZGVmaW5lIEhB VkVfU0lHU0VUIDEKfCAjZGVmaW5lIEhBVkVfTElCU09DS0VUIDEKfCAjZGVmaW5lIEhBVkVfTElC TlNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5kIHRo ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciBz b2NrZXQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzb2NrZXQgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTE4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTUyMDA6IGNo ZWNraW5nIGZvciBtYWluIGluIC1sZ2VuCmNvbmZpZ3VyZToxNTIyNDogY2MgLW8gY29uZnRlc3Qg LWcgLU8yICAgY29uZnRlc3QuYyAtbGdlbiAgLWxuc2wgLWxzb2NrZXQgID4mNQpjb25maWd1cmU6 MTUyMzA6ICQ/ID0gMApjb25maWd1cmU6MTUyMzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMg Y29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNTIzNzogJD8gPSAwCmNvbmZpZ3VyZToxNTI0MDogdGVz dCAtcyBjb25mdGVzdApjb25maWd1cmU6MTUyNDM6ICQ/ID0gMApjb25maWd1cmU6MTUyNTY6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNTI3MTogY2hlY2tpbmcgZm9yIHNlbGVjdApjb25maWd1cmU6 MTUzMjg6IGNjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxnZW4gLWxuc2wgLWxz b2NrZXQgID4mNQpjb25maWd1cmU6MTUzMzQ6ICQ/ID0gMApjb25maWd1cmU6MTUzMzg6IHRlc3Qg LXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNTM0MTogJD8gPSAw CmNvbmZpZ3VyZToxNTM0NDogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTUzNDc6ICQ/ID0g MApjb25maWd1cmU6MTUzNTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTM3NzogY2hlY2tpbmcg Zm9yIHN5cy9zZWxlY3QuaApjb25maWd1cmU6MTUzODI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NTM3NzogY2hlY2tpbmcgZm9yIHN5cy9zb2NrZXQuaApjb25maWd1cmU6MTUzODI6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTUyMjogY2hlY2tpbmcgdHlwZXMgb2YgYXJndW1lbnRzIGZvciBzZWxl Y3QKY29uZmlndXJlOjE1NTU1OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToxNTU2MTogJD8gPSAwCmNvbmZpZ3VyZToxNTU2NTogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAt cyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE1NTY4OiAkPyA9IDAKY29uZmlndXJlOjE1NTcxOiB0 ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE1NTc0OiAkPyA9IDAKY29uZmlndXJlOjE1NTkw OiByZXN1bHQ6IGludCxmZF9zZXQgKixzdHJ1Y3QgdGltZXZhbCAqCmNvbmZpZ3VyZToxNTYyMDog Y2hlY2tpbmcgZm9yIHBvbGwKY29uZmlndXJlOjE1Njc3OiBjYyAtbyBjb25mdGVzdCAtZyAtTzIg ICBjb25mdGVzdC5jIC1sZ2VuIC1sbnNsIC1sc29ja2V0ICA+JjUKY29uZmlndXJlOjE1NjgzOiAk PyA9IDAKY29uZmlndXJlOjE1Njg3OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0 LmVycgpjb25maWd1cmU6MTU2OTA6ICQ/ID0gMApjb25maWd1cmU6MTU2OTM6IHRlc3QgLXMgY29u ZnRlc3QKY29uZmlndXJlOjE1Njk2OiAkPyA9IDAKY29uZmlndXJlOjE1NzA4OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTU3MzI6IGNoZWNraW5nIHBvbGwuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE1 NzQ0OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNTc1MDogJD8gPSAw CmNvbmZpZ3VyZToxNTc1NDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIK Y29uZmlndXJlOjE1NzU3OiAkPyA9IDAKY29uZmlndXJlOjE1NzYwOiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8KY29uZmlndXJlOjE1NzYzOiAkPyA9IDAKY29uZmlndXJlOjE1NzczOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTU3Nzc6IGNoZWNraW5nIHBvbGwuaCBwcmVzZW5jZQpjb25maWd1cmU6MTU3ODc6 IGNjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNTc5MzogJD8gPSAwCmNvbmZpZ3VyZToxNTgx MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1ODQ4OiBjaGVja2luZyBmb3IgcG9sbC5oCmNvbmZp Z3VyZToxNTg1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1ODgzOiBjaGVja2luZyBzeXMvZXBv bGwuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE1ODk1OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6MTE1OjIzOiBzeXMvZXBvbGwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQpjb25maWd1cmU6MTU5MDE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBPUEVOTERBUF9W RVJTSU9OICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIwMzI3CnwgI2Rl ZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZF UlNJT05fTUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRDSCAyNwp8ICNk ZWZpbmUgSEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEVYRUVYVCAiIgp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9JTkVUX0ggMQp8ICNkZWZpbmUgSEFW RV9BUlBBX05BTUVTRVJfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhB VkVfQ1JZUFRfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05U TF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg I2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZp bmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TR1RUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU0hBRE9X X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMSU9fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0lPQ1RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNM T0dfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU0xPR19I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUkVTT0xWX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfU0lHU0VUIDEKfCAjZGVmaW5lIEhBVkVfTElCU09DS0VUIDEKfCAjZGVmaW5lIEhB VkVfTElCTlNMIDEKfCAjZGVmaW5lIEhBVkVfTElCR0VOIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIFNFTEVDVF9U WVBFX0FSRzEgaW50CnwgI2RlZmluZSBTRUxFQ1RfVFlQRV9BUkcyMzQgKGZkX3NldCAqKQp8ICNk ZWZpbmUgU0VMRUNUX1RZUEVfQVJHNSAoc3RydWN0IHRpbWV2YWwgKikKfCAjZGVmaW5lIEhBVkVf UE9MTCAxCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RS SU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZiBI QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhB VkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwg I2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNs dWRlIDxzeXMvZXBvbGwuaD4KY29uZmlndXJlOjE1OTI0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox NTkyODogY2hlY2tpbmcgc3lzL2Vwb2xsLmggcHJlc2VuY2UKY29uZmlndXJlOjE1OTM4OiBjYyAt RSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjgxOjIzOiBzeXMvZXBvbGwuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTU5NDQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAiCnwgI2RlZmluZSBP UEVOTERBUF9WRVJTSU9OICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OIDIw MzI3CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIKfCAjZGVmaW5lIExEQVBf VkVORE9SX1ZFUlNJT05fTUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9QQVRD SCAyNwp8ICNkZWZpbmUgSEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEVYRUVYVCAi Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9JTkVUX0ggMQp8ICNk ZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUg SEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9H UlBfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TR1RUWV9IIDEKfCAjZGVmaW5lIEhB VkVfU0hBRE9XX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJ VFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklM SU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0lP Q1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TWVNMT0dfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZF X1NZU0xPR19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUkVTT0xWX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUIDEKfCAjZGVmaW5lIEhBVkVfTElCU09DS0VUIDEKfCAj ZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhBVkVfTElCR0VOIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IFNFTEVDVF9UWVBFX0FSRzEgaW50CnwgI2RlZmluZSBTRUxFQ1RfVFlQRV9BUkcyMzQgKGZkX3Nl dCAqKQp8ICNkZWZpbmUgU0VMRUNUX1RZUEVfQVJHNSAoc3RydWN0IHRpbWV2YWwgKikKfCAjZGVm aW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4KY29uZmlndXJlOjE1OTY0OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxNTk5OTogY2hlY2tpbmcgZm9yIHN5cy9lcG9sbC5oCmNvbmZpZ3VyZTox NjAwNjogcmVzdWx0OiBubwpjb25maWd1cmU6MTYwNzA6IGNoZWNraW5nIGRlY2xhcmF0aW9uIG9m IHN5c19lcnJsaXN0CmNvbmZpZ3VyZToxNjA5ODogY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6OTI6IGVycm9yOiBg c3lzX2Vycmxpc3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25m dGVzdC5jOjkyOiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk IG9ubHkgb25jZQpjb25mdGVzdC5jOjkyOiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBw ZWFycyBpbi4pCmNvbmZpZ3VyZToxNjEwNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIKfCAjZGVmaW5lIE9QRU5M REFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT04gMjAzMjcK fCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNkZWZpbmUgTERBUF9WRU5E T1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX1BBVENIIDI3 CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgRVhFRVhUICIiCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2RlZmlu ZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp bmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9I IDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NHVFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9T SEFET1dfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxJT19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NZU0xPR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT TE9HX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9SRVNPTFZfSCAxCnwg I2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQp8 ICNkZWZpbmUgSEFWRV9TSUdTRVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJTT0NLRVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJHRU4gMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgU0VM RUNUX1RZUEVfQVJHMSBpbnQKfCAjZGVmaW5lIFNFTEVDVF9UWVBFX0FSRzIzNCAoZmRfc2V0ICop CnwgI2RlZmluZSBTRUxFQ1RfVFlQRV9BUkc1IChzdHJ1Y3QgdGltZXZhbCAqKQp8ICNkZWZpbmUg SEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVfUE9MTF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNp bmNsdWRlIDxlcnJuby5oPgp8ICNpZmRlZiBXSU5OVAp8ICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAj ZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGNoYXIgKmMgPSAoY2hhciAqKSAqc3lzX2Vycmxp c3QKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2MTI5OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxNjE0MDogY2hlY2tpbmcgZXhpc3RlbmNlIG9mIHN5c19lcnJsaXN0CmNvbmZpZ3Vy ZToxNjE2MjogY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbGdlbiAtbG5zbCAt bHNvY2tldCAgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuYzo4 NzogZXJyb3I6IGBzeXNfZXJybGlzdCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCmNvbmZ0ZXN0LmM6ODc6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6ODc6IGVycm9yOiBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluLikKY29uZmlndXJlOjE2MTY4OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0UgIk9wZW5MREFQIgp8ICNk ZWZpbmUgT1BFTkxEQVBfVkVSU0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVS U0lPTiAyMDMyNwp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NQUpPUiAyCnwgI2RlZmlu ZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01JTk9SIDMKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJ T05fUEFUQ0ggMjcKfCAjZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBF WEVFWFQgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9I IDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9OQU1FU0VSX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRf SCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0dUVFlfSCAxCnwgI2Rl ZmluZSBIQVZFX1NIQURPV19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX0ZJTElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19JT0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1lTTE9HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNMT0dfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1JF U09MVl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCnwgI2RlZmluZSBIQVZFX1NJ R0FDVElPTiAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVCAxCnwgI2RlZmluZSBIQVZFX0xJQlNPQ0tF VCAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX0xJQkdFTiAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBTRUxFQ1RfVFlQRV9BUkcxIGludAp8ICNkZWZpbmUgU0VMRUNUX1RZUEVfQVJHMjM0 IChmZF9zZXQgKikKfCAjZGVmaW5lIFNFTEVDVF9UWVBFX0FSRzUgKHN0cnVjdCB0aW1ldmFsICop CnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUg REVDTF9TWVNfRVJSTElTVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxl cnJuby5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgY2hhciAqYyA9IChjaGFyICopICpzeXNfZXJy bGlzdAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTYxOTM6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE2MjA4OiBjaGVja2luZyBmb3Igc3RyZXJyb3IKY29uZmlndXJlOjE2MjY1OiBj YyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sZ2VuIC1sbnNsIC1sc29ja2V0ICA+ JjUKY29uZmlndXJlOjE2MjcxOiAkPyA9IDAKY29uZmlndXJlOjE2Mjc1OiB0ZXN0IC16IAoJCQkg fHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTYyNzg6ICQ/ID0gMApjb25maWd1 cmU6MTYyODE6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjE2Mjg0OiAkPyA9IDAKY29uZmln dXJlOjE2Mjk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyMDg6IGNoZWNraW5nIGZvciBzdHJl cnJvcl9yCmNvbmZpZ3VyZToxNjI2NTogY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu YyAtbGdlbiAtbG5zbCAtbHNvY2tldCAgPiY1CmNvbmZpZ3VyZToxNjI3MTogJD8gPSAwCmNvbmZp Z3VyZToxNjI3NTogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln dXJlOjE2Mjc4OiAkPyA9IDAKY29uZmlndXJlOjE2MjgxOiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZp Z3VyZToxNjI4NDogJD8gPSAwCmNvbmZpZ3VyZToxNjI5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjE2MzA4OiBjaGVja2luZyBub24tcG9zaXggc3RyZXJyb3Jfcgpjb25maWd1cmU6MTYzNTE6IGNj IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gYG1haW4n Ogpjb25mdGVzdC5jOjkwOiBlcnJvcjogaW52YWxpZCB0eXBlIGFyZ3VtZW50IG9mIGB1bmFyeSAq Jwpjb25mdGVzdC5jOjkxOiB3YXJuaW5nOiBpbml0aWFsaXphdGlvbiBtYWtlcyBwb2ludGVyIGZy b20gaW50ZWdlciB3aXRob3V0IGEgY2FzdApjb25maWd1cmU6MTYzNTc6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgT1BFTkxEQVBfUEFDS0FHRSAiT3BlbkxEQVAi CnwgI2RlZmluZSBPUEVOTERBUF9WRVJTSU9OICIyLjMuMjciCnwgI2RlZmluZSBMREFQX1ZFTkRP Ul9WRVJTSU9OIDIwMzI3CnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJTSU9OX01BSk9SIDIKfCAj ZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUlOT1IgMwp8ICNkZWZpbmUgTERBUF9WRU5ET1Jf VkVSU0lPTl9QQVRDSCAyNwp8ICNkZWZpbmUgSEFWRV9NS1ZFUlNJT04gMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVm aW5lIEVYRUVYVCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9J TkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfSCAxCnwgI2RlZmluZSBIQVZFX0FT U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TR1RUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU0hBRE9XX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfRklMSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19FUlJOT19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0lPQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TWVNMT0dfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwg I2RlZmluZSBIQVZFX1NZU0xPR19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUkVTT0xWX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIEhB VkVfU0lHQUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUIDEKfCAjZGVmaW5lIEhBVkVfTElC U09DS0VUIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhBVkVfTElCR0VOIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIFNFTEVDVF9UWVBFX0FSRzEgaW50CnwgI2RlZmluZSBTRUxFQ1RfVFlQRV9B UkcyMzQgKGZkX3NldCAqKQp8ICNkZWZpbmUgU0VMRUNUX1RZUEVfQVJHNSAoc3RydWN0IHRpbWV2 YWwgKikKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2Rl ZmluZSBERUNMX1NZU19FUlJMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0cmluZy5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgICAgLyogZnJvbSBhdXRvY29uZiAyLjU5 ICovCnwgCQkJCWNoYXIgYnVmWzEwMF07CnwgCQkJCWNoYXIgeCA9ICpzdHJlcnJvcl9yICgwLCBi dWYsIHNpemVvZiBidWYpOwp8IAkJCQljaGFyICpwID0gc3RyZXJyb3JfciAoMCwgYnVmLCBzaXpl b2YgYnVmKTsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2NDI0OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNjU4NjogY2hlY2tpbmcgcmVnZXguaCB1c2FiaWxpdHkKY29uZmln dXJlOjE2NTk4OiBjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSBjb25mdGVzdC5jOjExODoKL3Vzci9sb2NhbC9pbmNsdWRlL3JlZ2V4Lmg6Mjk3OiBlcnJv cjogc3ludGF4IGVycm9yIGJlZm9yZSAiaW50IgovdXNyL2xvY2FsL2luY2x1ZGUvcmVnZXguaDoz MDY6IGVycm9yOiBzeW50YXggZXJyb3IgYmVmb3JlICJpbnQiCi91c3IvbG9jYWwvaW5jbHVkZS9y ZWdleC5oOjMwODogZXJyb3I6IHN5bnRheCBlcnJvciBiZWZvcmUgInJlX3ZvaWQiCi91c3IvbG9j YWwvaW5jbHVkZS9yZWdleC5oOjMwOTogZXJyb3I6IHN5bnRheCBlcnJvciBiZWZvcmUgInNpemVf dCIKY29uZmlndXJlOjE2NjA0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0UgIk9wZW5MREFQIgp8ICNkZWZpbmUgT1BFTkxEQVBfVkVS U0lPTiAiMi4zLjI3Igp8ICNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTiAyMDMyNwp8ICNkZWZp bmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NQUpPUiAyCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9WRVJT SU9OX01JTk9SIDMKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fUEFUQ0ggMjcKfCAjZGVm aW5lIEhBVkVfTUtWRVJTSU9OIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBFWEVFWFQgIiIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhBVkVf QVJQQV9OQU1FU0VSX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZF X0NSWVBUX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0dUVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NIQURPV19I IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTElPX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTTE9H X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNMT0dfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1JFU09MVl9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUSU5FVF9UQ1BfSCAxCnwgI2RlZmluZSBIQVZFX1NJR0FDVElPTiAxCnwgI2RlZmlu ZSBIQVZFX1NJR1NFVCAxCnwgI2RlZmluZSBIQVZFX0xJQlNPQ0tFVCAxCnwgI2RlZmluZSBIQVZF X0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX0xJQkdFTiAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBTRUxFQ1RfVFlQ RV9BUkcxIGludAp8ICNkZWZpbmUgU0VMRUNUX1RZUEVfQVJHMjM0IChmZF9zZXQgKikKfCAjZGVm aW5lIFNFTEVDVF9UWVBFX0FSRzUgKHN0cnVjdCB0aW1ldmFsICopCnwgI2RlZmluZSBIQVZFX1BP TEwgMQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgREVDTF9TWVNfRVJSTElTVCAx CnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9T WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vs c2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlm CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFW RV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUg PHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5 cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxyZWdleC5oPgpjb25maWd1cmU6MTY2Mjc6IHJl c3VsdDogbm8KY29uZmlndXJlOjE2NjMxOiBjaGVja2luZyByZWdleC5oIHByZXNlbmNlCmNvbmZp Z3VyZToxNjY0MTogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE2NjQ3OiAkPyA9IDAKY29u ZmlndXJlOjE2NjY3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY2ODA6IFdBUk5JTkc6IHJlZ2V4 Lmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZApjb25maWd1cmU6MTY2ODI6IFdBUk5J Tkc6IHJlZ2V4Lmg6ICAgICBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8K Y29uZmlndXJlOjE2Njg0OiBXQVJOSU5HOiByZWdleC5oOiBzZWUgdGhlIEF1dG9jb25mIGRvY3Vt ZW50YXRpb24KY29uZmlndXJlOjE2Njg2OiBXQVJOSU5HOiByZWdleC5oOiAgICAgc2VjdGlvbiAi UHJlc2VudCBCdXQgQ2Fubm90IEJlIENvbXBpbGVkIgpjb25maWd1cmU6MTY2ODg6IFdBUk5JTkc6 IHJlZ2V4Lmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0CmNvbmZp Z3VyZToxNjY5MDogV0FSTklORzogcmVnZXguaDogaW4gdGhlIGZ1dHVyZSwgdGhlIGNvbXBpbGVy IHdpbGwgdGFrZSBwcmVjZWRlbmNlCmNvbmZpZ3VyZToxNjcwMjogY2hlY2tpbmcgZm9yIHJlZ2V4 LmgKY29uZmlndXJlOjE2NzA5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY3Mjc6IGNoZWNraW5n IGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgcmVnZnJlZQpjb25maWd1cmU6MTY3NTc6IGNjIC1vIGNv bmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxnZW4gLWxuc2wgLWxzb2NrZXQgID4mNQpjb25m aWd1cmU6MTY3NjM6ICQ/ID0gMApjb25maWd1cmU6MTY3Njc6IHRlc3QgLXogCgkJCSB8fCB0ZXN0 ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNjc3MDogJD8gPSAwCmNvbmZpZ3VyZToxNjc3 MzogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTY3NzY6ICQ/ID0gMApjb25maWd1cmU6MTY4 NDY6IHJlc3VsdDogbm9uZSByZXF1aXJlZApjb25maWd1cmU6MTY4NTk6IGNoZWNraW5nIGZvciBj b21wYXRpYmxlIFBPU0lYIHJlZ2V4CmNvbmZpZ3VyZToxNjg5OTogY2MgLW8gY29uZnRlc3QgLWcg LU8yICAgY29uZnRlc3QuYyAtbGdlbiAtbG5zbCAtbHNvY2tldCAgPiY1CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSBjb25mdGVzdC5jOjg3OgovdXNyL2xvY2FsL2luY2x1ZGUvcmVnZXguaDoxMzg6IGVy cm9yOiBwYXJzZSBlcnJvciBiZWZvcmUgInJlX3ZvaWQiCi91c3IvbG9jYWwvaW5jbHVkZS9yZWdl eC5oOjI5NzogZXJyb3I6IHN5bnRheCBlcnJvciBiZWZvcmUgImludCIKL3Vzci9sb2NhbC9pbmNs dWRlL3JlZ2V4Lmg6Mjk3OiBlcnJvcjogcGFyc2UgZXJyb3IgYmVmb3JlICJDT05TVCIKL3Vzci9s b2NhbC9pbmNsdWRlL3JlZ2V4Lmg6MzA2OiBlcnJvcjogc3ludGF4IGVycm9yIGJlZm9yZSAiaW50 IgovdXNyL2xvY2FsL2luY2x1ZGUvcmVnZXguaDozMDY6IGVycm9yOiBwYXJzZSBlcnJvciBiZWZv cmUgIkNPTlNUIgovdXNyL2xvY2FsL2luY2x1ZGUvcmVnZXguaDozMDg6IGVycm9yOiBwYXJzZSBl cnJvciBiZWZvcmUgInJlX3ZvaWQiCi91c3IvbG9jYWwvaW5jbHVkZS9yZWdleC5oOjMwOTogZXJy b3I6IHN5bnRheCBlcnJvciBiZWZvcmUgInNpemVfdCIKL3Vzci9sb2NhbC9pbmNsdWRlL3JlZ2V4 Lmg6MzA5OiBlcnJvcjogcGFyc2UgZXJyb3IgYmVmb3JlICJDT05TVCIKY29uZmlndXJlOjE2OTAy OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBPUEVOTERBUF9QQUNLQUdFICJPcGVuTERBUCIK fCAjZGVmaW5lIE9QRU5MREFQX1ZFUlNJT04gIjIuMy4yNyIKfCAjZGVmaW5lIExEQVBfVkVORE9S X1ZFUlNJT04gMjAzMjcKfCAjZGVmaW5lIExEQVBfVkVORE9SX1ZFUlNJT05fTUFKT1IgMgp8ICNk ZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCnwgI2RlZmluZSBMREFQX1ZFTkRPUl9W RVJTSU9OX1BBVENIIDI3CnwgI2RlZmluZSBIQVZFX01LVkVSU0lPTiAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZp bmUgRVhFRVhUICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lO RVRfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKfCAjZGVmaW5lIEhBVkVfQVNT RVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DUllQVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFW RV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NHVFRZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TSEFET1dfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19GSUxJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0VSUk5PX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfSU9DVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NZU0xPR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTTE9HX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9SRVNPTFZfSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8ICNkZWZpbmUgSEFW RV9TSUdBQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJT T0NLRVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJHRU4gMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgU0VMRUNUX1RZUEVfQVJHMSBpbnQKfCAjZGVmaW5lIFNFTEVDVF9UWVBFX0FS RzIzNCAoZmRfc2V0ICopCnwgI2RlZmluZSBTRUxFQ1RfVFlQRV9BUkc1IChzdHJ1Y3QgdGltZXZh bCAqKQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVfUE9MTF9IIDEKfCAjZGVm aW5lIERFQ0xfU1lTX0VSUkxJU1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxyZWdl eC5oPgp8IHN0YXRpYyBjaGFyICpwYXR0ZXJuLCAqc3RyaW5nOwp8IG1haW4oKQp8IHsKfCAJaW50 IHJjOwp8IAlyZWdleF90IHJlOwp8IAp8IAlwYXR0ZXJuID0gIl5BIjsKfCAKfCAJaWYocmVnY29t cCgmcmUsIHBhdHRlcm4sIDApKSB7CnwgCQlyZXR1cm4gLTE7CnwgCX0KfCAKfCAJc3RyaW5nID0g IkFMTCBNQVRDSCI7CnwgCnwgCXJjID0gcmVnZXhlYygmcmUsIHN0cmluZywgMCwgKHZvaWQqKTAs IDApOwp8IAp8IAlyZWdmcmVlKCZyZSk7CnwgCnwgCXJldHVybiByYzsKfCB9CmNvbmZpZ3VyZTox NjkyMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY5MjU6IGVycm9yOiBicm9rZW4gUE9TSVggcmVn ZXghCgojIyAtLS0tLS0tLS0tLS0tLS0tICMjCiMjIENhY2hlIHZhcmlhYmxlcy4gIyMKIyMgLS0t LS0tLS0tLS0tLS0tLSAjIwoKYWNfY3ZfYnVpbGQ9c3BhcmMtc3VuLXNvbGFyaXMyLjEwCmFjX2N2 X2J1aWxkX2FsaWFzPXNwYXJjLXN1bi1zb2xhcmlzMi4xMAphY19jdl9jX2NvbXBpbGVyX2dudT15 ZXMKYWNfY3ZfZW52X0NDX3NldD0KYWNfY3ZfZW52X0NDX3ZhbHVlPQphY19jdl9lbnZfQ0ZMQUdT X3NldD0KYWNfY3ZfZW52X0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUEZMQUdTX3NldD0KYWNf Y3ZfZW52X0NQUEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQX3NldD0KYWNfY3ZfZW52X0NQUF92 YWx1ZT0KYWNfY3ZfZW52X0xERkxBR1Nfc2V0PQphY19jdl9lbnZfTERGTEFHU192YWx1ZT0KYWNf Y3ZfZW52X2J1aWxkX2FsaWFzX3NldD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPQphY19j dl9lbnZfaG9zdF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPQphY19jdl9l bnZfdGFyZ2V0X2FsaWFzX3NldD0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0KYWNfY3Zf ZXhlZXh0PQphY19jdl9mdW5jX2Rsb3Blbj15ZXMKYWNfY3ZfZnVuY19wb2xsPXllcwphY19jdl9m dW5jX3NlbGVjdD15ZXMKYWNfY3ZfZnVuY19zZWxlY3RfYXJncz0naW50LGZkX3NldCAqLHN0cnVj dCB0aW1ldmFsIConCmFjX2N2X2Z1bmNfc2hsX2xvYWQ9bm8KYWNfY3ZfZnVuY19zaWdhY3Rpb249 eWVzCmFjX2N2X2Z1bmNfc2lnc2V0PXllcwphY19jdl9mdW5jX3NvY2tldD1ubwphY19jdl9mdW5j X3N0cmVycm9yPXllcwphY19jdl9mdW5jX3N0cmVycm9yX3I9eWVzCmFjX2N2X2hlYWRlcl9hcnBh X2luZXRfaD15ZXMKYWNfY3ZfaGVhZGVyX2FycGFfbmFtZXNlcl9oPXllcwphY19jdl9oZWFkZXJf YXNzZXJ0X2g9eWVzCmFjX2N2X2hlYWRlcl9iaXRzX3R5cGVzX2g9bm8KYWNfY3ZfaGVhZGVyX2Nv bmlvX2g9bm8KYWNfY3ZfaGVhZGVyX2NyeXB0X2g9eWVzCmFjX2N2X2hlYWRlcl9kaXJlY3RfaD1u bwphY19jdl9oZWFkZXJfZGlyZW50X2RpcmVudF9oPXllcwphY19jdl9oZWFkZXJfZGxmY25faD15 ZXMKYWNfY3ZfaGVhZGVyX2Vycm5vX2g9eWVzCmFjX2N2X2hlYWRlcl9mY250bF9oPXllcwphY19j dl9oZWFkZXJfZmlsaW9faD1ubwphY19jdl9oZWFkZXJfZ2V0b3B0X2g9eWVzCmFjX2N2X2hlYWRl cl9ncnBfaD15ZXMKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9pb19o PW5vCmFjX2N2X2hlYWRlcl9saWJ1dGlsX2g9bm8KYWNfY3ZfaGVhZGVyX2xpbWl0c19oPXllcwph Y19jdl9oZWFkZXJfbG9jYWxlX2g9eWVzCmFjX2N2X2hlYWRlcl9tYWxsb2NfaD15ZXMKYWNfY3Zf aGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJfbmV0aW5ldF90Y3BfaD15ZXMKYWNfY3Zf aGVhZGVyX3BvbGxfaD15ZXMKYWNfY3ZfaGVhZGVyX3Byb2Nlc3NfaD1ubwphY19jdl9oZWFkZXJf cHNhcF9oPW5vCmFjX2N2X2hlYWRlcl9wd2RfaD15ZXMKYWNfY3ZfaGVhZGVyX3JlZ2V4X2g9eWVz CmFjX2N2X2hlYWRlcl9yZXNvbHZfaD15ZXMKYWNfY3ZfaGVhZGVyX3NndHR5X2g9eWVzCmFjX2N2 X2hlYWRlcl9zaGFkb3dfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9ZGlzYWJsZQphY19jdl9oZWFk ZXJfc3RkZGVmX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0 ZGxpYl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdz X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfZXBvbGxfaD1ubwphY19jdl9oZWFkZXJfc3lzX2Vycm5v X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfZmlsZV9oPXllcwphY19jdl9oZWFkZXJfc3lzX2ZpbGlv X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfaW9jdGxfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19wYXJh bV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3Jlc291cmNlX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNf c2VsZWN0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0X2g9eWVzCmFjX2N2X2hlYWRlcl9z eXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N5c2xvZ19oPXllcwphY19jdl9oZWFkZXJf c3lzX3RpbWVfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c190eXBlc19oPXllcwphY19jdl9oZWFkZXJf c3lzX3VjcmVkX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c191aW9faD15ZXMKYWNfY3ZfaGVhZGVyX3N5 c193YWl0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNleGl0c19oPXllcwphY19jdl9oZWFkZXJfc3lz bG9nX2g9eWVzCmFjX2N2X2hlYWRlcl90ZXJtaW9zX2g9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRf aD15ZXMKYWNfY3ZfaGVhZGVyX3V0aW1lX2g9eWVzCmFjX2N2X2hvc3Q9c3BhcmMtc3VuLXNvbGFy aXMyLjEwCmFjX2N2X2hvc3RfYWxpYXM9c3BhcmMtc3VuLXNvbGFyaXMyLjEwCmFjX2N2X2xpYl9i ZV9iZV9hcHA9bm8KYWNfY3ZfbGliX2RsZF9zaGxfbG9hZD1ubwphY19jdl9saWJfZ2VuX21haW49 eWVzCmFjX2N2X2xpYl9pbmV0X3NvY2tldD1ubwphY19jdl9saWJfbmV0X21haW49bm8KYWNfY3Zf bGliX25zbF9tYWluPXllcwphY19jdl9saWJfbnNsX3NfbWFpbj1ubwphY19jdl9saWJfc19hZm9w ZW49bm8KYWNfY3ZfbGliX3NvY2tldF9tYWluPXllcwphY19jdl9vYmpleHQ9bwphY19jdl9wcm9n X0FSPWFyCmFjX2N2X3Byb2dfQVdLPWdhd2sKYWNfY3ZfcHJvZ19DQz1jYwphY19jdl9wcm9nX0NQ UD0nY2MgLUUnCmFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2FjX2N0 X1NUUklQPXN0cmlwCmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19jY19zdGRjPQphY19j dl9wcm9nX2VncmVwPWVncmVwCmFjX2N2X3Byb2dfbWFrZV9tYWtlX3NldD15ZXMKYWNfY3Zfc2Vh cmNoX29wZW5kaXI9J25vbmUgcmVxdWlyZWQnCmFjX2N2X3NlYXJjaF9yZWdmcmVlPSdub25lIHJl cXVpcmVkJwphY19jdl9zaHRvb2w9YnVpbGQvc2h0b29sCmFjX2N2X3N5c190aW9jZ3dpbnN6X2lu X3Rlcm1pb3NfaD15ZXMKYWNfY3ZfdGFyZ2V0PXNwYXJjLXN1bi1zb2xhcmlzMi4xMAphY19jdl90 YXJnZXRfYWxpYXM9c3BhcmMtc3VuLXNvbGFyaXMyLjEwCmFtX2N2X0NDX2RlcGVuZGVuY2llc19j b21waWxlcl90eXBlPW5vbmUKbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9cGFzc19hbGwKbHRf Y3ZfZGxvcGVuPWRsb3BlbgpsdF9jdl9kbG9wZW5fbGlicz0KbHRfY3ZfZGxvcGVuX3NlbGY9eWVz Cmx0X2N2X2Rsb3Blbl9zZWxmX3N0YXRpYz15ZXMKbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRNQUdJ Q19DTUQnCmx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPQpsdF9jdl9sZF9yZWxvYWRfZmxhZz0t cgpsdF9jdl9vYmpkaXI9LmxpYnMKbHRfY3ZfcGF0aF9MRD0vdXNyL2Njcy9iaW4vbGQKbHRfY3Zf cGF0aF9OTT0nL3Vzci9jY3MvYmluL25tIC1wJwpsdF9jdl9wYXRoX1NFRD0vYmluL3NlZApsdF9j dl9wcm9nX2NvbXBpbGVyX2Nfbz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlv bnM9bm8KbHRfY3ZfcHJvZ19nbnVfbGQ9bm8KbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0n c2VkIC1uIC1lICdcJydzL14uKlsgCV1cKFtCRFJUXVtCRFJUXSpcKVsgCV1bIAldKlwoW19BLVph LXpdW19BLVphLXowLTldKlwpJC9cMSBcMiBcMi9wJ1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1i b2xfdG9fY19uYW1lX2FkZHJlc3M9J3NlZCAtbiAtZSAnXCcncy9eOiBcKFteIF0qXCkgJC8gIHtc IlwxXCIsIChsdF9wdHIpIDB9LC9wJ1wnJyAtZSAnXCcncy9eW0JDREVHUlNUXSBcKFteIF0qXCkg XChbXiBdKlwpJC8gIHsiXDIiLCAobHRfcHRyKSBcJlwyfSwvcCdcJycnCmx0X2N2X3N5c19nbG9i YWxfc3ltYm9sX3RvX2NkZWNsPSdzZWQgLW4gLWUgJ1wnJ3MvXi4gLiogXCguKlwpJC9leHRlcm4g aW50IFwxOy9wJ1wnJycKbHRfY3Zfc3lzX21heF9jbWRfbGVuPTI2MjE0NApsdF9sdF9jdl9wcm9n X2NvbXBpbGVyX2Nfbz0nInllcyInCmx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9JyJz ZWQgLW4gLWUgJ1wnJ3MvXi4qWyAJXVxcKFtCRFJUXVtCRFJUXSpcXClbIAldWyAJXSpcXChbX0Et WmEtel1bX0EtWmEtejAtOV0qXFwpXCQvXFwxIFxcMiBcXDIvcCdcJyciJwpsdF9sdF9jdl9zeXNf Z2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nInNlZCAtbiAtZSAnXCcncy9eOiBcXChb XiBdKlxcKSBcJC8gIHtcXFwiXFwxXFxcIiwgKGx0X3B0cikgMH0sL3AnXCcnIC1lICdcJydzL15b QkNERUdSU1RdIFxcKFteIF0qXFwpIFxcKFteIF0qXFwpXCQvICB7XCJcXDJcIiwgKGx0X3B0cikg XFwmXFwyfSwvcCdcJyciJwpsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nInNl ZCAtbiAtZSAnXCcncy9eLiAuKiBcXCguKlxcKVwkL2V4dGVybiBpbnQgXFwxOy9wJ1wnJyInCm9s X2N2X2NfcG9zaXhfcmVnZXg9bm8Kb2xfY3ZfY3BwX2ViY2RpYz1ubwpvbF9jdl9kY2xfc3lzX2Vy cmxpc3Q9bm8Kb2xfY3ZfZnVuY19zdHJlcnJvcl9yPW5vCm9sX2N2X2hhdmVfc3lzX2Vycmxpc3Q9 bm8Kb2xfY3ZfaGVhZGVyX3N0ZGM9eWVzCm9sX2N2X21rZGVwPS1NCm9sX2N2X25vbnBvc2l4X3N0 cmVycm9yX3I9bm8KCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMu ICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpBQ0xPQ0FMPScke1NIRUxMfSAvb3B0L1NvdXJj ZS9vcGVubGRhcC0yLjMuMjcvYnVpbGQvbWlzc2luZyAtLXJ1biBhY2xvY2FsLTEuOScKQU1ERVBC QUNLU0xBU0g9J1wnCkFNREVQX0ZBTFNFPScjJwpBTURFUF9UUlVFPScnCkFNVEFSPScke1NIRUxM fSAvb3B0L1NvdXJjZS9vcGVubGRhcC0yLjMuMjcvYnVpbGQvbWlzc2luZyAtLXJ1biB0YXInCkFS PSdhcicKQVM9J2FzJwpBVVRIX0xJQlM9JycKQVVUT0NPTkY9JyR7U0hFTEx9IC9vcHQvU291cmNl L29wZW5sZGFwLTIuMy4yNy9idWlsZC9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVS PScke1NIRUxMfSAvb3B0L1NvdXJjZS9vcGVubGRhcC0yLjMuMjcvYnVpbGQvbWlzc2luZyAtLXJ1 biBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nJHtTSEVMTH0gL29wdC9Tb3VyY2Uvb3BlbmxkYXAtMi4z LjI3L2J1aWxkL21pc3NpbmcgLS1ydW4gYXV0b21ha2UtMS45JwpBV0s9J2dhd2snCkJVSUxEX0FD Q0VTU0xPRz0nbm8nCkJVSUxEX0FVRElUTE9HPSdubycKQlVJTERfQkRCPSdubycKQlVJTERfREVO WU9QPSdubycKQlVJTERfRE5TU1JWPSdubycKQlVJTERfRFlOR1JPVVA9J25vJwpCVUlMRF9EWU5M SVNUPSdubycKQlVJTERfSERCPSdubycKQlVJTERfTEFTVE1PRD0nbm8nCkJVSUxEX0xEQVA9J25v JwpCVUlMRF9MREJNPSdubycKQlVJTERfTElCU19EWU5BTUlDPScnCkJVSUxEX01FVEE9J25vJwpC VUlMRF9NT05JVE9SPSdubycKQlVJTERfTlVMTD0nbm8nCkJVSUxEX1BBU1NXRD0nbm8nCkJVSUxE X1BFUkw9J25vJwpCVUlMRF9QUE9MSUNZPSdubycKQlVJTERfUFJPWFlDQUNIRT0nbm8nCkJVSUxE X1JFRklOVD0nbm8nCkJVSUxEX1JFTEFZPSdubycKQlVJTERfUkVUQ09ERT0nbm8nCkJVSUxEX1JX TT0nbm8nCkJVSUxEX1NIRUxMPSdubycKQlVJTERfU0xBUEQ9J25vJwpCVUlMRF9TTEFQST0nbm8n CkJVSUxEX1NMVVJQRD0nbm8nCkJVSUxEX1NRTD0nbm8nCkJVSUxEX1NZTkNQUk9WPSdubycKQlVJ TERfVEhSRUFEPSdubycKQlVJTERfVFJBTlNMVUNFTlQ9J25vJwpCVUlMRF9VTklRVUU9J25vJwpC VUlMRF9WQUxTT1JUPSdubycKQ0M9J2NjJwpDQ0RFUE1PREU9J2RlcG1vZGU9bm9uZScKQ0ZMQUdT PSctZyAtTzInCkNQUD0nY2MgLUUnCkNQUEZMQUdTPScnCkNZR1BBVEhfVz0nZWNobycKREVGUz0n JwpERVBESVI9Jy5kZXBzJwpETExUT09MPSdkbGx0b29sJwpFQ0hPPSdlY2hvJwpFQ0hPX0M9JycK RUNIT19OPSctbicKRUNIT19UPScnCkVHUkVQPSdlZ3JlcCcKRVhFRVhUPScnCklOU1RBTExfREFU QT0nJHtJTlNUQUxMfSAtbSA2NDQnCklOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKSU5TVEFM TF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCklOU1RBTExfU1RSSVBfUFJPR1JBTT0nJHtTSEVMTH0gJChp bnN0YWxsX3NoKSAtYyAtcycKS1JCNF9MSUJTPScnCktSQjVfTElCUz0nJwpMREFQX0xJQlM9JycK TERCTV9MSUJTPScnCkxERkxBR1M9JycKTElCT0JKUz0nJwpMSUJTPSctbGdlbiAtbG5zbCAtbHNv Y2tldCAnCkxJQlNMQVBJPScnCkxJQlNMQVBJVE9PTFM9JycKTElCU1JDUz0nJwpMSUJUT09MPSck KFNIRUxMKSAkKHRvcF9idWlsZGRpcikvbGlidG9vbCcKTE5fUz0nbG4gLXMnCkxUSFJFQURfTElC Uz0nJwpMVExJQk9CSlM9JycKTFRTVEFUSUM9JycKTFVUSUxfTElCUz0nJwpNQUtFSU5GTz0nJHtT SEVMTH0gL29wdC9Tb3VyY2Uvb3BlbmxkYXAtMi4zLjI3L2J1aWxkL21pc3NpbmcgLS1ydW4gbWFr ZWluZm8nCk1PRFVMRVNfTElCUz0nJwpNT0RfUEVSTF9MREZMQUdTPScnCk9CSkRVTVA9J29iamR1 bXAnCk9CSkVYVD0nbycKT0xfTUtERVA9J2NjJwpPTF9NS0RFUF9GTEFHUz0nLU0nCk9QRU5MREFQ X0xJQlJFTEVBU0U9JzIuMycKT1BFTkxEQVBfTElCVkVSU0lPTj0nMjoxNToyJwpPUEVOTERBUF9S RUxFQVNFX0RBVEU9JzIwMDYvMDgvMTknClBBQ0tBR0U9J09wZW5MREFQJwpQQUNLQUdFX0JVR1JF UE9SVD0nJwpQQUNLQUdFX05BTUU9JycKUEFDS0FHRV9TVFJJTkc9JycKUEFDS0FHRV9UQVJOQU1F PScnClBBQ0tBR0VfVkVSU0lPTj0nJwpQQVRIX1NFUEFSQVRPUj0nOicKUEVSTEJJTj0nJwpQRVJM X0NQUEZMQUdTPScnClBMQVQ9JycKUkFOTElCPSdyYW5saWInClNBU0xfTElCUz0nJwpTRVRfTUFL RT0nJwpTSEVMTD0nL2Jpbi9iYXNoJwpTTEFQRF9EWU5BTUlDX0JBQ0tFTkRTPScnClNMQVBEX0RZ TkFNSUNfT1ZFUkxBWVM9JycKU0xBUERfR01QX0xJQlM9JycKU0xBUERfTElCUz0nJwpTTEFQRF9N T0RVTEVTX0NQUEZMQUdTPScnClNMQVBEX01PRFVMRVNfTERGTEFHUz0nJwpTTEFQRF9OT19TVEFU SUM9JycKU0xBUERfUEVSTF9MREZMQUdTPScnClNMQVBEX1NMQVBJX0RFUEVORD0nJwpTTEFQRF9T TFBfTElCUz0nJwpTTEFQRF9TUUxfSU5DTFVERVM9JycKU0xBUERfU1FMX0xERkxBR1M9JycKU0xB UERfU1FMX0xJQlM9JycKU0xBUERfU1RBVElDX0JBQ0tFTkRTPSdiYWNrLWxkaWYnClNMQVBEX1NU QVRJQ19PVkVSTEFZUz0nJwpTTEFQSV9MSUJTPScnClNMVVJQRF9MSUJTPScnClNUUklQPSdzdHJp cCcKVExTX0xJQlM9JycKVkVSU0lPTj0nMi4zLjI3JwpXSVRIX0FDSV9FTkFCTEVEPScnCldJVEhf TU9EVUxFU19FTkFCTEVEPSdubycKV0lUSF9TQVNMPScnCldJVEhfVExTPScnCldSQVBfTElCUz0n JwphY19jdF9BUj0nJwphY19jdF9BUz0nJwphY19jdF9DQz0nJwphY19jdF9ETExUT09MPScnCmFj X2N0X09CSkRVTVA9JycKYWNfY3RfUkFOTElCPSdyYW5saWInCmFjX2N0X1NUUklQPSdzdHJpcCcK YW1fX2Zhc3RkZXBDQ19GQUxTRT0nJwphbV9fZmFzdGRlcENDX1RSVUU9JyMnCmFtX19pbmNsdWRl PSdpbmNsdWRlJwphbV9fbGVhZGluZ19kb3Q9Jy4nCmFtX19xdW90ZT0nJwphbV9fdGFyPScke0FN VEFSfSBjaG9mIC0gIiQkdGFyZGlyIicKYW1fX3VudGFyPScke0FNVEFSfSB4ZiAtJwpiaW5kaXI9 JyR7ZXhlY19wcmVmaXh9L2JpbicKYnVpbGQ9J3NwYXJjLXN1bi1zb2xhcmlzMi4xMCcKYnVpbGRf YWxpYXM9JycKYnVpbGRfY3B1PSdzcGFyYycKYnVpbGRfb3M9J3NvbGFyaXMyLjEwJwpidWlsZF92 ZW5kb3I9J3N1bicKZGF0YWRpcj0nJHtwcmVmaXh9L3NoYXJlJwpleGVjX3ByZWZpeD0nTk9ORScK aG9zdD0nc3BhcmMtc3VuLXNvbGFyaXMyLjEwJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSdzcGFy YycKaG9zdF9vcz0nc29sYXJpczIuMTAnCmhvc3RfdmVuZG9yPSdzdW4nCmluY2x1ZGVkaXI9JyR7 cHJlZml4fS9pbmNsdWRlJwppbmZvZGlyPScke3ByZWZpeH0vaW5mbycKaW5zdGFsbF9zaD0nL29w dC9Tb3VyY2Uvb3BlbmxkYXAtMi4zLjI3L2J1aWxkL2luc3RhbGwtc2gnCmxkYXBfc3ViZGlyPScv b3BlbmxkYXAnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNf cHJlZml4fS9saWJleGVjJwpsb2NhbHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwptYW5kaXI9JyR7 cHJlZml4fS9tYW4nCm1rZGlyX3A9JyQoaW5zdGFsbF9zaCkgLWQnCm9sZGluY2x1ZGVkaXI9Jy91 c3IvaW5jbHVkZScKcHJlZml4PScvdXNyL2xvY2FsJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdz LHgseCwnCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRlZGlyPScke3By ZWZpeH0vY29tJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXQ9J3NwYXJjLXN1bi1z b2xhcmlzMi4xMCcKdGFyZ2V0X2FsaWFzPScnCnRhcmdldF9jcHU9J3NwYXJjJwp0YXJnZXRfb3M9 J3NvbGFyaXMyLjEwJwp0YXJnZXRfdmVuZG9yPSdzdW4nCnRvcF9idWlsZGRpcj0nL29wdC9Tb3Vy Y2Uvb3BlbmxkYXAtMi4zLjI3JwoKIyMgLS0tLS0tLS0tLS0gIyMKIyMgY29uZmRlZnMuaC4gIyMK IyMgLS0tLS0tLS0tLS0gIyMKCiNkZWZpbmUgREVDTF9TWVNfRVJSTElTVCAxCiNkZWZpbmUgRVhF RVhUICIiCiNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCiNkZWZpbmUgSEFWRV9BUlBBX05BTUVT RVJfSCAxCiNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCiNkZWZpbmUgSEFWRV9DUllQVF9IIDEKI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKI2RlZmluZSBIQVZFX0RMRkNOX0ggMQojZGVmaW5lIEhBVkVf RVJSTk9fSCAxCiNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK I2RlZmluZSBIQVZFX0dSUF9IIDEKI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIEhB VkVfTElCR0VOIDEKI2RlZmluZSBIQVZFX0xJQk5TTCAxCiNkZWZpbmUgSEFWRV9MSUJTT0NLRVQg MQojZGVmaW5lIEhBVkVfTElNSVRTX0ggMQojZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQojZGVmaW5l IEhBVkVfTUFMTE9DX0ggMQojZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQojZGVmaW5lIEhBVkVfTUtWRVJTSU9OIDEKI2RlZmluZSBIQVZFX05FVElORVRfVENQ X0ggMQojZGVmaW5lIEhBVkVfUE9MTCAxCiNkZWZpbmUgSEFWRV9QT0xMX0ggMQojZGVmaW5lIEhB VkVfUFdEX0ggMQojZGVmaW5lIEhBVkVfUkVHRVhfSCAxCiNkZWZpbmUgSEFWRV9SRVNPTFZfSCAx CiNkZWZpbmUgSEFWRV9TR1RUWV9IIDEKI2RlZmluZSBIQVZFX1NIQURPV19IIDEKI2RlZmluZSBI QVZFX1NJR0FDVElPTiAxCiNkZWZpbmUgSEFWRV9TSUdTRVQgMQojZGVmaW5lIEhBVkVfU1REREVG X0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVm aW5lIEhBVkVfU1RSRVJST1IgMQojZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCiNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX1NUUklO R19IIDEKI2RlZmluZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQoj ZGVmaW5lIEhBVkVfU1lTTE9HX0ggMQojZGVmaW5lIEhBVkVfU1lTX0VSUk5PX0ggMQojZGVmaW5l IEhBVkVfU1lTX0ZJTEVfSCAxCiNkZWZpbmUgSEFWRV9TWVNfRklMSU9fSCAxCiNkZWZpbmUgSEFW RV9TWVNfSU9DVExfSCAxCiNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCiNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQojZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCiNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKI2RlZmluZSBIQVZFX1NZU19TWVNMT0dfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCiNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKI2Rl ZmluZSBIQVZFX1RFUk1JT1NfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgSEFW RV9VTklTVERfSCAxCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEKI2RlZmluZSBMREFQX1ZFTkRPUl9W RVJTSU9OIDIwMzI3CiNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9NQUpPUiAyCiNkZWZpbmUg TERBUF9WRU5ET1JfVkVSU0lPTl9NSU5PUiAzCiNkZWZpbmUgTERBUF9WRU5ET1JfVkVSU0lPTl9Q QVRDSCAyNwojZGVmaW5lIE9QRU5MREFQX1BBQ0tBR0UgIk9wZW5MREFQIgojZGVmaW5lIE9QRU5M REFQX1ZFUlNJT04gIjIuMy4yNyIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgojZGVmaW5l IFBBQ0tBR0VfTkFNRSAiIgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCiNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICIiCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCiNkZWZpbmUgU0VMRUNUX1RZ UEVfQVJHMSBpbnQKI2RlZmluZSBTRUxFQ1RfVFlQRV9BUkcyMzQgKGZkX3NldCAqKQojZGVmaW5l IFNFTEVDVF9UWVBFX0FSRzUgKHN0cnVjdCB0aW1ldmFsICopCiNkZWZpbmUgU1REQ19IRUFERVJT IDEKI2RlZmluZSBTVERDX0hFQURFUlMgMQoKY29uZmlndXJlOiBleGl0IDEK --=====================_272409043==_--