Date: Sun, 7 Sep 2003 14:29:47 +0200 (CEST) From: Peter Czanik <pczanik@fang.fa.gau.hu> To: ports@freebsd.org Subject: mysql323 port problem Message-ID: <Pine.LNX.4.44.0309071428040.17485-300000@fang.fa.gau.hu>
next in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1128234253-896222822-1062937787=:17485 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, MySQL 323 does not compile on 5.1-current. Files attached as suggested. Bye, Peter Peter Czanik GAU Faculty of Agriculture pczanik@fang.fa.gau.hu http://peter.czanik.hu/ ---1128234253-896222822-1062937787=:17485 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="config.log" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.44.0309071429470.17485@fang.fa.gau.hu> Content-Description: Content-Disposition: attachment; filename="config.log" VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBj b21waWxlcnMgd2hpbGUNCnJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVi dWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuDQoNCkl0IHdh cyBjcmVhdGVkIGJ5IGNvbmZpZ3VyZSwgd2hpY2ggd2FzDQpnZW5lcmF0ZWQg YnkgR05VIEF1dG9jb25mIDIuNTMuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGlu ZSB3YXMNCg0KICAkIC4vY29uZmlndXJlIC0tbG9jYWxzdGF0ZWRpcj0vdmFy L2RiL215c3FsIC0td2l0aG91dC1wZXJsIC0td2l0aG91dC1kZWJ1ZyAtLXdp dGhvdXQtcmVhZGxpbmUgLS13aXRob3V0LWJlbmNoIC0td2l0aC1taXQtdGhy ZWFkcz1ubyAtLXdpdGgtbGlid3JhcCAtLXdpdGgtbG93LW1lbW9yeSAtLXdp dGgtY29tbWVudD1GcmVlQlNEIHBvcnQ6IG15c3FsLXNlcnZlci0zLjIzLjU3 IC0tcHJvZ3JhbS1wcmVmaXg9IC0td2l0aC1pbm5vZGIgLS1lbmFibGUtYXNz ZW1ibGVyIC0td2l0aC1iZXJrZWxleS1kYiAtLXByZWZpeD0vdXNyL2xvY2Fs IGkzODYtcG9ydGJsZC1mcmVlYnNkNS4xDQoNCiMjIC0tLS0tLS0tLSAjIw0K IyMgUGxhdGZvcm0uICMjDQojIyAtLS0tLS0tLS0gIyMNCg0KaG9zdG5hbWUg PSBkcmF2ZWN6LmludGVncml0eS5odQ0KdW5hbWUgLW0gPSBpMzg2DQp1bmFt ZSAtciA9IDUuMS1DVVJSRU5UDQp1bmFtZSAtcyA9IEZyZWVCU0QNCnVuYW1l IC12ID0gRnJlZUJTRCA1LjEtQ1VSUkVOVCAjMDogRnJpIFNlcCAgNSAxNzoz NTo1MiBDRVNUIDIwMDMgICAgIHJvb3RAZHJhdmVjejovdXNyL3NyYy9zeXMv aTM4Ni9jb21waWxlL0pBSUwgDQoNCi91c3IvYmluL3VuYW1lIC1wID0gaTM4 Ng0KL2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duDQoNCi9iaW4vYXJjaCAg ICAgICAgICAgICAgPSB1bmtub3duDQovdXNyL2Jpbi9hcmNoIC1rICAgICAg ID0gdW5rbm93bg0KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24N Cmhvc3RpbmZvICAgICAgICAgICAgICAgPSB1bmtub3duDQovYmluL21hY2hp bmUgICAgICAgICAgID0gdW5rbm93bg0KL3Vzci9iaW4vb3NsZXZlbCAgICAg ICA9IHVua25vd24NCi9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3du DQoNClBBVEg6IC91c3IvbG9jYWwvbGliZXhlYy9saWJ0b29sMTMNClBBVEg6 IC9zYmluDQpQQVRIOiAvYmluDQpQQVRIOiAvdXNyL3NiaW4NClBBVEg6IC91 c3IvYmluDQpQQVRIOiAvdXNyL2dhbWVzDQpQQVRIOiAvdXNyL2xvY2FsL3Ni aW4NClBBVEg6IC91c3IvbG9jYWwvYmluDQpQQVRIOiAvdXNyL1gxMVI2L2Jp bg0KUEFUSDogL3Jvb3QvYmluDQoNCg0KIyMgLS0tLS0tLS0tLS0gIyMNCiMj IENvcmUgdGVzdHMuICMjDQojIyAtLS0tLS0tLS0tLSAjIw0KDQpjb25maWd1 cmU6MTQ3MzogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUNCmNvbmZpZ3Vy ZToxNDkxOiByZXN1bHQ6IGkzODYtcG9ydGJsZC1mcmVlYnNkNS4xDQpjb25m aWd1cmU6MTUwMTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQ0KY29uZmln dXJlOjE1MTU6IHJlc3VsdDogaTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjENCmNv bmZpZ3VyZToxNTI1OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUNCmNv bmZpZ3VyZToxNTM5OiByZXN1bHQ6IGkzODYtcG9ydGJsZC1mcmVlYnNkNS4x DQpjb25maWd1cmU6MTU2OTogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbA0KY29uZmlndXJlOjE2MjM6IHJlc3VsdDogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbyByb290IC1nIHdoZWVsDQpjb25maWd1cmU6MTYzNDog Y2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lDQpj b25maWd1cmU6MTY1MjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNjg2OiBj aGVja2luZyBmb3IgZ2F3aw0KY29uZmlndXJlOjE3MTU6IHJlc3VsdDogbm8N CmNvbmZpZ3VyZToxNjg2OiBjaGVja2luZyBmb3IgbWF3aw0KY29uZmlndXJl OjE3MTU6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxNjg2OiBjaGVja2luZyBm b3IgbmF3aw0KY29uZmlndXJlOjE3MDI6IGZvdW5kIC91c3IvYmluL25hd2sN CmNvbmZpZ3VyZToxNzEyOiByZXN1bHQ6IG5hd2sNCmNvbmZpZ3VyZToxNzIy OiBjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAke01BS0V9DQpjb25maWd1 cmU6MTc0MjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxOTQwOiBjaGVja2lu ZyB3aGV0aGVyIHRvIGVuYWJsZSBtYWludGFpbmVyLXNwZWNpZmljIHBvcnRp b25zIG9mIE1ha2VmaWxlcw0KY29uZmlndXJlOjE5NDk6IHJlc3VsdDogbm8N CmNvbmZpZ3VyZToxOTY0OiBjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUNCmNvbmZpZ3VyZToxOTgyOiByZXN1bHQ6IHllcw0K Y29uZmlndXJlOjE5ODU6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICR7 TUFLRX0NCmNvbmZpZ3VyZToyMDA1OiByZXN1bHQ6IHllcw0KY29uZmlndXJl OjIwNTU6IGNoZWNraW5nIGZvciBnYXdrDQpjb25maWd1cmU6MjA4MTogcmVz dWx0OiBuYXdrDQpjb25maWd1cmU6MjA5OTogY2hlY2tpbmcgZm9yIGkzODYt cG9ydGJsZC1mcmVlYnNkNS4xLWdjYw0KY29uZmlndXJlOjIxMjU6IHJlc3Vs dDogY2MNCmNvbmZpZ3VyZToyNDA3OiBjaGVja2luZyBmb3IgQyBjb21waWxl ciB2ZXJzaW9uDQpjb25maWd1cmU6MjQxMDogY2MgLS12ZXJzaW9uIDwvZGV2 L251bGwgPiY1DQpjYyAoR0NDKSAzLjMuMSBbRnJlZUJTRF0NCkNvcHlyaWdo dCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NClRo aXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlp bmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PDQp3YXJyYW50eTsgbm90IGV2 ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4NCg0KY29uZmlndXJlOjI0MTM6ICQ/ID0gMA0KY29u ZmlndXJlOjI0MTU6IGNjIC12IDwvZGV2L251bGwgPiY1DQpVc2luZyBidWls dC1pbiBzcGVjcy4NCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9pMzg2IHN5 c3RlbSBjb21waWxlcg0KVGhyZWFkIG1vZGVsOiBwb3NpeA0KZ2NjIHZlcnNp b24gMy4zLjEgW0ZyZWVCU0RdDQpjb25maWd1cmU6MjQxODogJD8gPSAwDQpj b25maWd1cmU6MjQyMDogY2MgLVYgPC9kZXYvbnVsbCA+JjUNCmNjOiBgLVYn IG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQNCmNvbmZpZ3VyZToyNDIzOiAk PyA9IDENCmNvbmZpZ3VyZToyNDQ5OiBjaGVja2luZyBmb3IgQyBjb21waWxl ciBkZWZhdWx0IG91dHB1dA0KY29uZmlndXJlOjI0NTI6IGNjIC1PIC1waXBl IC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1 cmU6MjQ1NTogJD8gPSAwDQpjb25maWd1cmU6MjQ4ODogcmVzdWx0OiBhLm91 dA0KY29uZmlndXJlOjI0OTM6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MNCmNvbmZpZ3VyZToyNDk5OiAuL2Eub3V0DQpjb25maWd1 cmU6MjUwMjogJD8gPSAwDQpjb25maWd1cmU6MjUxNzogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToyNTI0OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcNCmNvbmZpZ3VyZToyNTI2OiByZXN1bHQ6IG5vDQpjb25m aWd1cmU6MjUyOTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cw0KY29uZmlndXJlOjI1MzE6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1cmU6 MjUzNDogJD8gPSAwDQpjb25maWd1cmU6MjU1NjogcmVzdWx0OiANCmNvbmZp Z3VyZToyNTYyOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxl cw0KY29uZmlndXJlOjI1ODY6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI1ODk6ICQ/ID0g MA0KY29uZmlndXJlOjI2MDg6IHJlc3VsdDogbw0KY29uZmlndXJlOjI2MTI6 IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21w aWxlcg0KY29uZmlndXJlOjI2Mzk6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI2NDI6ICQ/ ID0gMA0KY29uZmlndXJlOjI2NDU6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29u ZmlndXJlOjI2NDg6ICQ/ID0gMA0KY29uZmlndXJlOjI2NjA6IHJlc3VsdDog eWVzDQpjb25maWd1cmU6MjY2NjogY2hlY2tpbmcgd2hldGhlciBjYyBhY2Nl cHRzIC1nDQpjb25maWd1cmU6MjY5MDogY2MgLWMgLWcgIGNvbmZ0ZXN0LmMg PiY1DQpjb25maWd1cmU6MjY5MzogJD8gPSAwDQpjb25maWd1cmU6MjY5Njog dGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjY5OTogJD8gPSAwDQpj b25maWd1cmU6MjcwOTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzM2OiBj YyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+ JjUNCmNvbmZ0ZXN0LmM6MjogZXJyb3I6IHN5bnRheCBlcnJvciBiZWZvcmUg Im1lIg0KY29uZmlndXJlOjI3Mzk6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQojaWZuZGVmIF9fY3BsdXNwbHVzDQogIGNob2tl IG1lDQojZW5kaWYNCmNvbmZpZ3VyZToyODU3OiBjaGVja2luZyBmb3Igc3R5 bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UNCmNvbmZpZ3VyZToyODg1OiBy ZXN1bHQ6IEdOVQ0KY29uZmlndXJlOjI4OTI6IGNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgY2MNCmNvbmZpZ3VyZToyOTU0OiByZXN1bHQ6IGdjYzMN CmNvbmZpZ3VyZToyOTY5OiBjaGVja2luZyBmb3IgaTM4Ni1wb3J0YmxkLWZy ZWVic2Q1LjEtZysrDQpjb25maWd1cmU6Mjk5NTogcmVzdWx0OiBjKysNCmNv bmZpZ3VyZTozMDUzOiBjaGVja2luZyBmb3IgQysrIGNvbXBpbGVyIHZlcnNp b24NCmNvbmZpZ3VyZTozMDU2OiBjKysgLS12ZXJzaW9uIDwvZGV2L251bGwg PiY1DQpjKysgKEdDQykgMy4zLjEgW0ZyZWVCU0RdDQpDb3B5cmlnaHQgKEMp IDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpUaGlzIGlz IGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNv bmRpdGlvbnMuICBUaGVyZSBpcyBOTw0Kd2FycmFudHk7IG5vdCBldmVuIGZv ciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuDQoNCmNvbmZpZ3VyZTozMDU5OiAkPyA9IDANCmNvbmZpZ3Vy ZTozMDYxOiBjKysgLXYgPC9kZXYvbnVsbCA+JjUNClVzaW5nIGJ1aWx0LWlu IHNwZWNzLg0KQ29uZmlndXJlZCB3aXRoOiBGcmVlQlNEL2kzODYgc3lzdGVt IGNvbXBpbGVyDQpUaHJlYWQgbW9kZWw6IHBvc2l4DQpnY2MgdmVyc2lvbiAz LjMuMSBbRnJlZUJTRF0NCmNvbmZpZ3VyZTozMDY0OiAkPyA9IDANCmNvbmZp Z3VyZTozMDY2OiBjKysgLVYgPC9kZXYvbnVsbCA+JjUNCmMrKzogYC1WJyBv cHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50DQpjb25maWd1cmU6MzA2OTogJD8g PSAxDQpjb25maWd1cmU6MzA3MjogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDKysgY29tcGlsZXINCmNvbmZpZ3VyZTozMDk5OiBj KysgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtZmVsaWRlLWNvbnN0 cnVjdG9ycyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAgY29uZnRlc3Qu Y2MgPiY1DQpjb25maWd1cmU6MzEwMjogJD8gPSAwDQpjb25maWd1cmU6MzEw NTogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MzEwODogJD8gPSAw DQpjb25maWd1cmU6MzEyMDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTozMTI2 OiBjaGVja2luZyB3aGV0aGVyIGMrKyBhY2NlcHRzIC1nDQpjb25maWd1cmU6 MzE1MDogYysrIC1jIC1nICBjb25mdGVzdC5jYyA+JjUNCmNvbmZpZ3VyZToz MTUzOiAkPyA9IDANCmNvbmZpZ3VyZTozMTU2OiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8NCmNvbmZpZ3VyZTozMTU5OiAkPyA9IDANCmNvbmZpZ3VyZTozMTY5OiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjMyMTU6IGMrKyAtYyAtTyAtcGlwZSAt bWNwdT1wZW50aXVtcHJvIC1mZWxpZGUtY29uc3RydWN0b3JzIC1mbm8tcnR0 aSAtZm5vLWV4Y2VwdGlvbnMgICBjb25mdGVzdC5jYyA+JjUNCmNvbmZpZ3Vy ZTozMjE4OiAkPyA9IDANCmNvbmZpZ3VyZTozMjIxOiB0ZXN0IC1zIGNvbmZ0 ZXN0Lm8NCmNvbmZpZ3VyZTozMjI0OiAkPyA9IDANCmNvbmZpZ3VyZTozMjUy OiBjKysgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtZmVsaWRlLWNv bnN0cnVjdG9ycyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAgY29uZnRl c3QuY2MgPiY1DQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBpbnQgbWFpbigp JzoNCmNvbmZpZ3VyZTozMjQ1OiBlcnJvcjogYGV4aXQnIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSB0aGlzIGZ1bmN0aW9uKQ0KY29uZmlndXJlOjMyNDU6IGVy cm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciANCiAgIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bi4pDQpjb25maWd1cmU6MzI1NTogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoNCiNsaW5lIDMyMzQgImNvbmZpZ3VyZSINCiNpbmNs dWRlICJjb25mZGVmcy5oIg0KDQojaWZkZWYgRjc3X0RVTU1ZX01BSU4NCiMg IGlmZGVmIF9fY3BsdXNwbHVzDQogICAgIGV4dGVybiAiQyINCiMgIGVuZGlm DQogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9DQojZW5k aWYNCmludA0KbWFpbiAoKQ0Kew0KZXhpdCAoNDIpOw0KICA7DQogIHJldHVy biAwOw0KfQ0KY29uZmlndXJlOjMyMTU6IGMrKyAtYyAtTyAtcGlwZSAtbWNw dT1wZW50aXVtcHJvIC1mZWxpZGUtY29uc3RydWN0b3JzIC1mbm8tcnR0aSAt Zm5vLWV4Y2VwdGlvbnMgICBjb25mdGVzdC5jYyA+JjUNCmNvbmZpZ3VyZToz MjE4OiAkPyA9IDANCmNvbmZpZ3VyZTozMjIxOiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8NCmNvbmZpZ3VyZTozMjI0OiAkPyA9IDANCmNvbmZpZ3VyZTozMjUyOiBj KysgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtZmVsaWRlLWNvbnN0 cnVjdG9ycyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAgY29uZnRlc3Qu Y2MgPiY1DQpjb25maWd1cmU6MzI1NTogJD8gPSAwDQpjb25maWd1cmU6MzI1 ODogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MzI2MTogJD8gPSAw DQpjb25maWd1cmU6MzI4NTogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBjKysNCmNvbmZpZ3VyZTozMzQ3OiByZXN1bHQ6IGdjYzMNCmNvbmZpZ3Vy ZTozMzU3OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nv cg0KY29uZmlndXJlOjMzODM6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1 cmU6MzM4OTogJD8gPSAwDQpjb25maWd1cmU6MzQxNjogY2MgLUUgIGNvbmZ0 ZXN0LmMNCmNvbmZpZ3VyZTozNDEzOjI4OiBhY19ub25leGlzdGVudC5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6MzQyMjogJD8g PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDM0 MTIgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1 ZGUgPGFjX25vbmV4aXN0ZW50Lmg+DQpjb25maWd1cmU6MzQ1OTogcmVzdWx0 OiBjYyAtRQ0KY29uZmlndXJlOjM0NzQ6IGNjIC1FICBjb25mdGVzdC5jDQpj b25maWd1cmU6MzQ4MDogJD8gPSAwDQpjb25maWd1cmU6MzUwNzogY2MgLUUg IGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZTozNTA0OjI4OiBhY19ub25leGlzdGVu dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6MzUx MzogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNs aW5lIDM1MDMgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0K I2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+DQpjb25maWd1cmU6MzU1Nzog Y2hlY2tpbmcgIkMgQ29tcGlsZXIgdmVyc2lvbiINCmNvbmZpZ3VyZTozNTU5 OiByZXN1bHQ6ICJjYyBjYyAoR0NDKSAzLjMuMSBbRnJlZUJTRF0NCkNvcHly aWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4N ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNv cHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PDQp3YXJyYW50eTsgbm90 IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4iDQpjb25maWd1cmU6MzU2NTogY2hlY2tpbmcg IkMrKyBjb21waWxlciB2ZXJzaW9uIg0KY29uZmlndXJlOjM1Njc6IHJlc3Vs dDogImMrKyBjKysgKEdDQykgMy4zLjEgW0ZyZWVCU0RdDQpDb3B5cmlnaHQg KEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpUaGlz IGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5n IGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTw0Kd2FycmFudHk7IG5vdCBldmVu IGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuIg0KY29uZmlndXJlOjM2MzE6IGNoZWNraW5nIGZvciBp Mzg2LXBvcnRibGQtZnJlZWJzZDUuMS1yYW5saWINCmNvbmZpZ3VyZTozNjYw OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MzY2OTogY2hlY2tpbmcgZm9yIHJh bmxpYg0KY29uZmlndXJlOjM2ODU6IGZvdW5kIC91c3IvYmluL3JhbmxpYg0K Y29uZmlndXJlOjM2OTY6IHJlc3VsdDogcmFubGliDQpjb25maWd1cmU6Mzc4 NzogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgR0NDDQpjb25maWd1cmU6Mzg1 MDogcmVzdWx0OiAvdXNyL2Jpbi9sZA0KY29uZmlndXJlOjM4NTk6IGNoZWNr aW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvYmluL2xkKSBpcyBHTlUgbGQNCkdO VSBsZCB2ZXJzaW9uIDIuMTMuMiBbRnJlZUJTRF0gMjAwMi0xMS0yNw0KY29u ZmlndXJlOjM4NzE6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6Mzg3NjogY2hl Y2tpbmcgZm9yIC91c3IvYmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0 IGZpbGVzDQpjb25maWd1cmU6Mzg4MzogcmVzdWx0OiAtcg0KY29uZmlndXJl OjM4ODg6IGNoZWNraW5nIGZvciBCU0QtY29tcGF0aWJsZSBubQ0KY29uZmln dXJlOjM5MjQ6IHJlc3VsdDogbm0NCmNvbmZpZ3VyZTozOTI3OiBjaGVja2lu ZyB3aGV0aGVyIGxuIC1zIHdvcmtzDQpjb25maWd1cmU6MzkzMTogcmVzdWx0 OiB5ZXMNCmNvbmZpZ3VyZTozOTM4OiBjaGVja2luZyBob3cgdG8gcmVjb2du aXNlIGRlcGVuZGFudCBsaWJyYXJpZXMNCmNvbmZpZ3VyZTo0MTE2OiByZXN1 bHQ6IHBhc3NfYWxsDQpjb25maWd1cmU6NDEyOTogY2hlY2tpbmcgY29tbWFu ZCB0byBwYXJzZSBubSBvdXRwdXQNCmNvbmZpZ3VyZTo0MjEwOiBjYyAtYyAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNv bmZpZ3VyZTo0MjEzOiAkPyA9IDANCmNvbmZpZ3VyZTo0MjE3OiBubSBjb25m dGVzdC5vIFx8IHNlZCAtbiAtZSAncy9eLipbIAldXChbQUJDREdJU1RXXVtB QkNER0lTVFddKlwpWyAJXVsgCV0qXChcKVwoW19BLVphLXpdW19BLVphLXow LTldKlwpJC9cMSBcMlwzIFwzL3AnIFw+IGNvbmZ0ZXN0Lm5tDQpjb25maWd1 cmU6NDIyMDogJD8gPSAwDQpjb25maWd1cmU6NDI3MjogY2MgLW8gY29uZnRl c3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIGNv bmZ0c3RtLm8gPiY1DQpjb25maWd1cmU6NDI3NTogJD8gPSAwDQpjb25maWd1 cmU6NDMxOTogcmVzdWx0OiBvaw0KY29uZmlndXJlOjQzMjQ6IGNoZWNraW5n IGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzDQpjb25maWd1cmU6NDMzODogY2Mg LUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZTo0MzQ0OiAkPyA9IDANCmNvbmZp Z3VyZTo0NDMxOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50 aXVtcHJvICAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjQ0MzQ6ICQ/ ID0gMA0KY29uZmlndXJlOjQ0MzY6IC4vY29uZnRlc3QNCmNvbmZpZ3VyZTo0 NDM5OiAkPyA9IDANCmNvbmZpZ3VyZTo0NDUzOiByZXN1bHQ6IHllcw0KY29u ZmlndXJlOjQ0Nzc6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaA0KY29uZmln dXJlOjQ0OTA6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBj b25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjQ0OTM6ICQ/ID0gMA0KY29uZmln dXJlOjQ0OTY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjQ0OTk6 ICQ/ID0gMA0KY29uZmlndXJlOjQ1MDk6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6NDQ3NzogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgNCmNvbmZpZ3VyZTo0 NDkwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRl c3QuYyA+JjUNCmNvbmZpZ3VyZTo0NDkzOiAkPyA9IDANCmNvbmZpZ3VyZTo0 NDk2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTo0NDk5OiAkPyA9 IDANCmNvbmZpZ3VyZTo0NTA5OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjQ0 Nzc6IGNoZWNraW5nIGZvciBzdGRsaWIuaA0KY29uZmlndXJlOjQ0OTA6IGNj IC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4m NQ0KY29uZmlndXJlOjQ0OTM6ICQ/ID0gMA0KY29uZmlndXJlOjQ0OTY6IHRl c3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjQ0OTk6ICQ/ID0gMA0KY29u ZmlndXJlOjQ1MDk6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NDQ3NzogY2hl Y2tpbmcgZm9yIHN0cmluZy5oDQpjb25maWd1cmU6NDQ5MDogY2MgLWMgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25m aWd1cmU6NDQ5MzogJD8gPSAwDQpjb25maWd1cmU6NDQ5NjogdGVzdCAtcyBj b25mdGVzdC5vDQpjb25maWd1cmU6NDQ5OTogJD8gPSAwDQpjb25maWd1cmU6 NDUwOTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo0NDc3OiBjaGVja2luZyBm b3IgbWVtb3J5LmgNCmNvbmZpZ3VyZTo0NDkwOiBjYyAtYyAtTyAtcGlwZSAt bWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo0 NDkzOiAkPyA9IDANCmNvbmZpZ3VyZTo0NDk2OiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8NCmNvbmZpZ3VyZTo0NDk5OiAkPyA9IDANCmNvbmZpZ3VyZTo0NTA5OiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjQ0Nzc6IGNoZWNraW5nIGZvciBzdHJp bmdzLmgNCmNvbmZpZ3VyZTo0NDkwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1w ZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo0NDkzOiAk PyA9IDANCmNvbmZpZ3VyZTo0NDk2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNv bmZpZ3VyZTo0NDk5OiAkPyA9IDANCmNvbmZpZ3VyZTo0NTA5OiByZXN1bHQ6 IHllcw0KY29uZmlndXJlOjQ0Nzc6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5o DQpjb25maWd1cmU6NDQ5MDogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1 bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NDQ5MzogJD8gPSAw DQpjb25maWd1cmU6NDQ5NjogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1 cmU6NDQ5OTogJD8gPSAwDQpjb25maWd1cmU6NDUwOTogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZTo0NDc3OiBjaGVja2luZyBmb3Igc3RkaW50LmgNCmNvbmZp Z3VyZTo0NDkwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAg Y29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo0NDkzOiAkPyA9IDANCmNvbmZp Z3VyZTo0NDk2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTo0NDk5 OiAkPyA9IDANCmNvbmZpZ3VyZTo0NTA5OiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjQ0Nzc6IGNoZWNraW5nIGZvciB1bmlzdGQuaA0KY29uZmlndXJlOjQ0 OTA6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVz dC5jID4mNQ0KY29uZmlndXJlOjQ0OTM6ICQ/ID0gMA0KY29uZmlndXJlOjQ0 OTY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjQ0OTk6ICQ/ID0g MA0KY29uZmlndXJlOjQ1MDk6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NDUz NTogY2hlY2tpbmcgZGxmY24uaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZTo0NTQ0 OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3Qu YyA+JjUNCmNvbmZpZ3VyZTo0NTQ3OiAkPyA9IDANCmNvbmZpZ3VyZTo0NTUw OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTo0NTUzOiAkPyA9IDAN CmNvbmZpZ3VyZTo0NTYyOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjQ1NjY6 IGNoZWNraW5nIGRsZmNuLmggcHJlc2VuY2UNCmNvbmZpZ3VyZTo0NTczOiBj YyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjQ1Nzk6ICQ/ID0gMA0KY29u ZmlndXJlOjQ1OTc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NDYxNTogY2hl Y2tpbmcgZm9yIGRsZmNuLmgNCmNvbmZpZ3VyZTo0NjIyOiByZXN1bHQ6IHll cw0KY29uZmlndXJlOjQ3ODE6IGNoZWNraW5nIGZvciBpMzg2LXBvcnRibGQt ZnJlZWJzZDUuMS1yYW5saWINCmNvbmZpZ3VyZTo0ODA3OiByZXN1bHQ6IHJh bmxpYg0KY29uZmlndXJlOjQ4NjE6IGNoZWNraW5nIGZvciBpMzg2LXBvcnRi bGQtZnJlZWJzZDUuMS1zdHJpcA0KY29uZmlndXJlOjQ4OTA6IHJlc3VsdDog bm8NCmNvbmZpZ3VyZTo0ODk5OiBjaGVja2luZyBmb3Igc3RyaXANCmNvbmZp Z3VyZTo0OTE1OiBmb3VuZCAvdXNyL2Jpbi9zdHJpcA0KY29uZmlndXJlOjQ5 MjY6IHJlc3VsdDogc3RyaXANCmNvbmZpZ3VyZTo1MTMxOiBjaGVja2luZyBm b3Igb2JqZGlyDQpjb25maWd1cmU6NTE0MjogcmVzdWx0OiAubGlicw0KY29u ZmlndXJlOjUxNTk6IGNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8gcHJvZHVj ZSBQSUMNCmNvbmZpZ3VyZTo1MzE4OiByZXN1bHQ6IC1mUElDDQpjb25maWd1 cmU6NTMyMjogY2hlY2tpbmcgaWYgY2MgUElDIGZsYWcgLWZQSUMgd29ya3MN CmNvbmZpZ3VyZTo1MzQ4OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvICAtZlBJQyAtRFBJQyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo1 MzUxOiAkPyA9IDANCmNvbmZpZ3VyZTo1MzU0OiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8NCmNvbmZpZ3VyZTo1MzU3OiAkPyA9IDANCmNvbmZpZ3VyZTo1Mzk0OiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjU0MTA6IGNoZWNraW5nIGlmIGNjIHN0 YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MNCmNvbmZpZ3VyZTo1NDM3OiBjYyAt byBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIC1zdGF0 aWMgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1cmU6NTQ0MDogJD8gPSAwDQpj b25maWd1cmU6NTQ0MzogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjU0 NDY6ICQ/ID0gMA0KY29uZmlndXJlOjU0NjE6IHJlc3VsdDogeWVzDQpjb25m aWd1cmU6NTQ3MzogY2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmls ZS5vDQpjb25maWd1cmU6NTQ5MzogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgLW8gb3V0L2NvbmZ0ZXN0Mi5vICBjb25mdGVzdC5jID4mNQ0K Y29uZmlndXJlOjU1MTc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NTUyMjog Y2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5sbw0KY29uZmln dXJlOjU1NTI6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gIC1j IC1vIGNvbmZ0ZXN0LmxvICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjU1 NTU6ICQ/ID0gMA0KY29uZmlndXJlOjU1NTg6IHRlc3QgLXMgY29uZnRlc3Qu bG8NCmNvbmZpZ3VyZTo1NTYxOiAkPyA9IDANCmNvbmZpZ3VyZTo1NTgyOiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjU2MTM6IGNoZWNraW5nIGlmIGNjIHN1 cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMNCmNvbmZpZ3VyZTo1 NjM4OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAtZm5vLXJ0 dGkgLWZuby1leGNlcHRpb25zIC1jIGNvbmZ0ZXN0LmMgIGNvbmZ0ZXN0LmMg PiY1DQpjYzE6IHdhcm5pbmc6ICItZm5vLXJ0dGkiIGlzIHZhbGlkIGZvciBD KysgYnV0IG5vdCBmb3IgQy9PYmpDDQpjYzE6IHdhcm5pbmc6ICItZm5vLXJ0 dGkiIGlzIHZhbGlkIGZvciBDKysgYnV0IG5vdCBmb3IgQy9PYmpDDQpjb25m aWd1cmU6NTY0MTogJD8gPSAwDQpjb25maWd1cmU6NTY0NDogdGVzdCAtcyBj b25mdGVzdC5vDQpjb25maWd1cmU6NTY0NzogJD8gPSAwDQpjb25maWd1cmU6 NTY2MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo1Njc0OiBjaGVja2luZyB3 aGV0aGVyIHRoZSBsaW5rZXIgKC91c3IvYmluL2xkKSBzdXBwb3J0cyBzaGFy ZWQgbGlicmFyaWVzDQpjb25maWd1cmU6NjMyNjogcmVzdWx0OiB5ZXMNCmNv bmZpZ3VyZTo2MzMxOiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFy eSBwYXRocyBpbnRvIHByb2dyYW1zDQpjb25maWd1cmU6NjM1NTogcmVzdWx0 OiBpbW1lZGlhdGUNCmNvbmZpZ3VyZTo2MzYwOiBjaGVja2luZyB3aGV0aGVy IHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUNCmNvbmZpZ3VyZTo2 MzY1OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjYzNzY6IGNoZWNraW5nIGR5 bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcw0KY29uZmlndXJlOjY3Njk6 IHJlc3VsdDogZnJlZWJzZDUuMSBsZC5zbw0KY29uZmlndXJlOjY3NzQ6IGNo ZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcw0K Y29uZmlndXJlOjY3NzY6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6Njc3OTog Y2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzDQpj b25maWd1cmU6NjgwMDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo2ODAzOiBj aGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMNCmNv bmZpZ3VyZTo2ODA3OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjc0Njk6IGNo ZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtl ZCBpbg0KY29uZmlndXJlOjc0Nzc6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjc0ODA6ICQ/ ID0gMA0KY29uZmlndXJlOjc0OTQ6IGNjIC1zaGFyZWQgY29uZnRlc3QubyAg LXYgLVdsLC1zb25hbWUgLVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IDJcPlwm MSBcfCBncmVwICAtbGMgIFw+L2Rldi9udWxsIDJcPlwmMQ0KY29uZmlndXJl Ojc0OTc6ICQ/ID0gMQ0KY29uZmlndXJlOjc1MTA6IHJlc3VsdDogeWVzDQpj b25maWd1cmU6ODA5NzogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbA0KY29uZmlndXJlOjgxNTE6IHJlc3VsdDogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbyByb290IC1nIHdoZWVsDQpjb25maWd1cmU6ODE2OTogY2hl Y2tpbmcgZm9yIGJpc29uDQpjb25maWd1cmU6ODE4NTogZm91bmQgL3Vzci9s b2NhbC9iaW4vYmlzb24NCmNvbmZpZ3VyZTo4MTk1OiByZXN1bHQ6IGJpc29u IC15DQpjb25maWd1cmU6ODIwODogY2hlY2tpbmcgZm9yIHBkZnRleA0KY29u ZmlndXJlOjgyMzc6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZTo4MjQzOiBjaGVj a2luZyBmb3IgdGV4DQpjb25maWd1cmU6ODI3MjogcmVzdWx0OiBubw0KY29u ZmlndXJlOjgyNzc6IGNoZWNraW5nICJyZXR1cm4gdHlwZSBvZiBzcHJpbnRm Ig0KY29uZmlndXJlOjgzMDI6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1cmU6 ODMwNTogJD8gPSAwDQpjb25maWd1cmU6ODMwNzogLi9jb25mdGVzdA0KY29u ZmlndXJlOjgzMTA6ICQ/ID0gMA0KY29uZmlndXJlOjgzMTU6IHJlc3VsdDog ImludCINCmNvbmZpZ3VyZTo4Mzg4OiBjaGVja2luZyBmb3IgdW5hbWUNCmNv bmZpZ3VyZTo4NDA2OiBmb3VuZCAvdXNyL2Jpbi91bmFtZQ0KY29uZmlndXJl Ojg0MTk6IHJlc3VsdDogL3Vzci9iaW4vdW5hbWUNCmNvbmZpZ3VyZTo4NDI5 OiBjaGVja2luZyBvcGVyYXRpbmcgc3lzdGVtDQpjb25maWd1cmU6ODQ0Mzog cmVzdWx0OiBGcmVlQlNEDQpjb25maWd1cmU6ODYyOTogY2hlY2tpbmcgImlm IHdlIHNob3VsZCB1c2UgJ3NraXAtbG9ja2luZycgYXMgZGVmYXVsdCBmb3Ig ZnJlZWJzZDUuMSINCmNvbmZpZ3VyZTo4NjQxOiByZXN1bHQ6ICJubyINCmNv bmZpZ3VyZTo4NjQ5OiBjaGVja2luZyBmb3IgbG4NCmNvbmZpZ3VyZTo4NjY3 OiBmb3VuZCAvYmluL2xuDQpjb25maWd1cmU6ODY4MDogcmVzdWx0OiAvYmlu L2xuDQpjb25maWd1cmU6ODY5MDogY2hlY2tpbmcgZm9yIGxuDQpjb25maWd1 cmU6ODcwODogZm91bmQgL2Jpbi9sbg0KY29uZmlndXJlOjg3MjE6IHJlc3Vs dDogL2Jpbi9sbg0KY29uZmlndXJlOjg3MzU6IGNoZWNraW5nIGZvciBtdg0K Y29uZmlndXJlOjg3NTM6IGZvdW5kIC9iaW4vbXYNCmNvbmZpZ3VyZTo4NzY2 OiByZXN1bHQ6IC9iaW4vbXYNCmNvbmZpZ3VyZTo4Nzc1OiBjaGVja2luZyBm b3Igcm0NCmNvbmZpZ3VyZTo4NzkzOiBmb3VuZCAvYmluL3JtDQpjb25maWd1 cmU6ODgwNjogcmVzdWx0OiAvYmluL3JtDQpjb25maWd1cmU6ODgxNTogY2hl Y2tpbmcgZm9yIGNwDQpjb25maWd1cmU6ODgzMzogZm91bmQgL2Jpbi9jcA0K Y29uZmlndXJlOjg4NDY6IHJlc3VsdDogL2Jpbi9jcA0KY29uZmlndXJlOjg4 NTU6IGNoZWNraW5nIGZvciBzZWQNCmNvbmZpZ3VyZTo4ODczOiBmb3VuZCAv dXNyL2Jpbi9zZWQNCmNvbmZpZ3VyZTo4ODg2OiByZXN1bHQ6IC91c3IvYmlu L3NlZA0KY29uZmlndXJlOjg4OTU6IGNoZWNraW5nIGZvciBjbXANCmNvbmZp Z3VyZTo4OTEzOiBmb3VuZCAvdXNyL2Jpbi9jbXANCmNvbmZpZ3VyZTo4OTI2 OiByZXN1bHQ6IC91c3IvYmluL2NtcA0KY29uZmlndXJlOjg5MzU6IGNoZWNr aW5nIGZvciBjaG1vZA0KY29uZmlndXJlOjg5NTM6IGZvdW5kIC9iaW4vY2ht b2QNCmNvbmZpZ3VyZTo4OTY2OiByZXN1bHQ6IC9iaW4vY2htb2QNCmNvbmZp Z3VyZTo4OTc1OiBjaGVja2luZyBmb3IgaG9zdG5hbWUNCmNvbmZpZ3VyZTo4 OTkzOiBmb3VuZCAvYmluL2hvc3RuYW1lDQpjb25maWd1cmU6OTAwNjogcmVz dWx0OiAvYmluL2hvc3RuYW1lIC1zDQpjb25maWd1cmU6OTAxOTogY2hlY2tp bmcgZm9yIGdudXRhcg0KY29uZmlndXJlOjkwNDg6IHJlc3VsdDogbm8NCmNv bmZpZ3VyZTo5MDE5OiBjaGVja2luZyBmb3IgZ3Rhcg0KY29uZmlndXJlOjkw NDg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZTo5MDE5OiBjaGVja2luZyBmb3Ig dGFyDQpjb25maWd1cmU6OTAzNTogZm91bmQgL3Vzci9iaW4vdGFyDQpjb25m aWd1cmU6OTA0NTogcmVzdWx0OiB0YXINCmNvbmZpZ3VyZTo5MDU4OiBjaGVj a2luZyBmb3IgcGVybA0KY29uZmlndXJlOjkwODk6IHJlc3VsdDogL3Vzci9s b2NhbC9iaW4vcGVybA0KY29uZmlndXJlOjkxNTQ6IGNoZWNraW5nIGZvciBw cw0KY29uZmlndXJlOjkxNzI6IGZvdW5kIC9iaW4vcHMNCmNvbmZpZ3VyZTo5 MTg1OiByZXN1bHQ6IC9iaW4vcHMNCmNvbmZpZ3VyZTo5MTk0OiByZXN1bHQ6 ICIvYmluL3BzIC11YXh3dyB8IGdyZXAgbXlzcWxkIHwgZ3JlcCAiICQkUElE ICIgPiAvZGV2L251bGwiDQpjb25maWd1cmU6OTIwMDogY2hlY2tpbmcgZm9y IGtpbGwNCmNvbmZpZ3VyZTo5MjE4OiBmb3VuZCAvYmluL2tpbGwNCmNvbmZp Z3VyZTo5MjMxOiByZXN1bHQ6IC9iaW4va2lsbA0KY29uZmlndXJlOjkyMzg6 IGNoZWNraW5nICJmb3Iga2lsbCBzd2l0Y2hlcyINCmNvbmZpZ3VyZTo5MjUy OiByZXN1bHQ6ICIvYmluL2tpbGwgLTAgJCRQSUQgPiAvZGV2L251bGwgMj4g L2Rldi9udWxsIg0KY29uZmlndXJlOjkyNTc6IGNoZWNraW5nIGZvciBjYyBv cHRpb24gdG8gYWNjZXB0IEFOU0kgQw0KY29uZmlndXJlOjkzMDQ6IGNjICAt YyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUN CmNvbmZpZ3VyZTo5MzA3OiAkPyA9IDANCmNvbmZpZ3VyZTo5MzEwOiB0ZXN0 IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTo5MzEzOiAkPyA9IDANCmNvbmZp Z3VyZTo5MzI2OiByZXN1bHQ6IA0KY29uZmlndXJlOjk1MTc6IGNoZWNraW5n IGlmIHdlIHNob3VsZCB1c2UgYXNzZW1ibGVyIGZ1bmN0aW9ucw0KY29uZmln dXJlOjk1NTA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6OTU1ODogY2hlY2tp bmcgaWYgd2Ugc2hvdWxkIHVzZSBSQUlEDQpjb25maWd1cmU6OTU3ODogcmVz dWx0OiBubw0KY29uZmlndXJlOjk2MjA6IGNoZWNraW5nIGlmIHdlIHNob3Vs ZCBzaG91bGQgZW5hYmxlIExPQUQgREFUQSBMT0NBTCBieSBkZWZhdWx0DQpj b25maWd1cmU6OTYzOTogcmVzdWx0OiBubw0KY29uZmlndXJlOjk2OTI6IGNo ZWNraW5nIGZvciBnZXRjb25mDQpjb25maWd1cmU6OTcwODogZm91bmQgL3Vz ci9iaW4vZ2V0Y29uZg0KY29uZmlndXJlOjk3MTg6IHJlc3VsdDogZ2V0Y29u Zg0KY29uZmlndXJlOjk3MzA6IGNoZWNraW5nIGZvciBDRkxBR1MgdmFsdWUg dG8gcmVxdWVzdCBsYXJnZSBmaWxlIHN1cHBvcnQNCmNvbmZpZ3VyZTo5Nzk4 OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6OTgwMDogY2hlY2tpbmcgZm9yIExE RkxBR1MgdmFsdWUgdG8gcmVxdWVzdCBsYXJnZSBmaWxlIHN1cHBvcnQNCmNv bmZpZ3VyZTo5ODE0OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6OTgxNjogY2hl Y2tpbmcgZm9yIExJQlMgdmFsdWUgdG8gcmVxdWVzdCBsYXJnZSBmaWxlIHN1 cHBvcnQNCmNvbmZpZ3VyZTo5ODMwOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6 OTg3NTogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTDQpjb25maWd1 cmU6OTg5NjogcmVzdWx0OiBubw0KY29uZmlndXJlOjk5MDU6IGNoZWNraW5n IGZvciBfTEFSR0VGSUxFX1NPVVJDRQ0KY29uZmlndXJlOjk5MjY6IHJlc3Vs dDogbm8NCmNvbmZpZ3VyZTo5OTM1OiBjaGVja2luZyBmb3IgX0xBUkdFX0ZJ TEVTDQpjb25maWd1cmU6OTk1NjogcmVzdWx0OiBubw0KY29uZmlndXJlOjk5 Njk6IGNoZWNraW5nIGZvciBzaXplX3QNCmNvbmZpZ3VyZTo5OTk2OiBjYyAt YyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUN CmNvbmZpZ3VyZTo5OTk5OiAkPyA9IDANCmNvbmZpZ3VyZToxMDAwMjogdGVz dCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MTAwMDU6ICQ/ID0gMA0KY29u ZmlndXJlOjEwMDE1OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwMDQwOiBj aGVja2luZyBmb3IgZGlyZW50LmggdGhhdCBkZWZpbmVzIERJUg0KY29uZmln dXJlOjEwMDY3OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAg Y29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxMDA3MDogJD8gPSAwDQpjb25m aWd1cmU6MTAwNzM6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEw MDc2OiAkPyA9IDANCmNvbmZpZ3VyZToxMDA4NjogcmVzdWx0OiB5ZXMNCmNv bmZpZ3VyZToxMDA5OTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmlu ZyBvcGVuZGlyDQpjb25maWd1cmU6MTAxMzI6IGNjIC1vIGNvbmZ0ZXN0IC1P IC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAgPiY1DQpj b25maWd1cmU6MTAxMzU6ICQ/ID0gMA0KY29uZmlndXJlOjEwMTM4OiB0ZXN0 IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTAxNDE6ICQ/ID0gMA0KY29uZmln dXJlOjEwMjAwOiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQNCmNvbmZpZ3VyZTox MDMxODogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMNCmNvbmZp Z3VyZToxMDQ0NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDQ1NzogY2hl Y2tpbmcgZm9yIHN5cy93YWl0LmggdGhhdCBpcyBQT1NJWC4xIGNvbXBhdGli bGUNCmNvbmZpZ3VyZToxMDQ5MTogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTA0OTQ6ICQ/ ID0gMA0KY29uZmlndXJlOjEwNDk3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNv bmZpZ3VyZToxMDUwMDogJD8gPSAwDQpjb25maWd1cmU6MTA1MTA6IHJlc3Vs dDogeWVzDQpjb25maWd1cmU6MTA1NzE6IGNoZWNraW5nIGZjbnRsLmggdXNh YmlsaXR5DQpjb25maWd1cmU6MTA1ODA6IGNjIC1jIC1PIC1waXBlIC1tY3B1 PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjEwNTgz OiAkPyA9IDANCmNvbmZpZ3VyZToxMDU4NjogdGVzdCAtcyBjb25mdGVzdC5v DQpjb25maWd1cmU6MTA1ODk6ICQ/ID0gMA0KY29uZmlndXJlOjEwNTk4OiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNjAyOiBjaGVja2luZyBmY250bC5o IHByZXNlbmNlDQpjb25maWd1cmU6MTA2MDk6IGNjIC1FICBjb25mdGVzdC5j DQpjb25maWd1cmU6MTA2MTU6ICQ/ID0gMA0KY29uZmlndXJlOjEwNjMzOiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBmb3IgZmNu dGwuaA0KY29uZmlndXJlOjEwNjU4OiByZXN1bHQ6IHllcw0KY29uZmlndXJl OjEwNTcxOiBjaGVja2luZyBmbG9hdC5oIHVzYWJpbGl0eQ0KY29uZmlndXJl OjEwNTgwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29u ZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAwDQpjb25maWd1 cmU6MTA1ODY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5 OiAkPyA9IDANCmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZp Z3VyZToxMDYwMjogY2hlY2tpbmcgZmxvYXQuaCBwcmVzZW5jZQ0KY29uZmln dXJlOjEwNjA5OiBjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjEwNjE1 OiAkPyA9IDANCmNvbmZpZ3VyZToxMDYzMzogcmVzdWx0OiB5ZXMNCmNvbmZp Z3VyZToxMDY1MTogY2hlY2tpbmcgZm9yIGZsb2F0LmgNCmNvbmZpZ3VyZTox MDY1ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDU3MTogY2hlY2tpbmcg ZmxvYXRpbmdwb2ludC5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEwNTgwOiBj YyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+ JjUNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAwDQpjb25maWd1cmU6MTA1ODY6 IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5OiAkPyA9IDAN CmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDYw MjogY2hlY2tpbmcgZmxvYXRpbmdwb2ludC5oIHByZXNlbmNlDQpjb25maWd1 cmU6MTA2MDk6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MTA2MTU6 ICQ/ID0gMA0KY29uZmlndXJlOjEwNjMzOiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjEwNjUxOiBjaGVja2luZyBmb3IgZmxvYXRpbmdwb2ludC5oDQpjb25m aWd1cmU6MTA2NTg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA1NzE6IGNo ZWNraW5nIGllZWVmcC5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEwNTgwOiBj YyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+ JjUNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAwDQpjb25maWd1cmU6MTA1ODY6 IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5OiAkPyA9IDAN CmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDYw MjogY2hlY2tpbmcgaWVlZWZwLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToxMDYw OTogY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToxMDYxNTogJD8gPSAw DQpjb25maWd1cmU6MTA2MzM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA2 NTE6IGNoZWNraW5nIGZvciBpZWVlZnAuaA0KY29uZmlndXJlOjEwNjU4OiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNTcxOiBjaGVja2luZyBsaW1pdHMu aCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToxMDU4MDogY2MgLWMgLU8gLXBpcGUg LW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6 MTA1ODM6ICQ/ID0gMA0KY29uZmlndXJlOjEwNTg2OiB0ZXN0IC1zIGNvbmZ0 ZXN0Lm8NCmNvbmZpZ3VyZToxMDU4OTogJD8gPSAwDQpjb25maWd1cmU6MTA1 OTg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA2MDI6IGNoZWNraW5nIGxp bWl0cy5oIHByZXNlbmNlDQpjb25maWd1cmU6MTA2MDk6IGNjIC1FICBjb25m dGVzdC5jDQpjb25maWd1cmU6MTA2MTU6ICQ/ID0gMA0KY29uZmlndXJlOjEw NjMzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBm b3IgbGltaXRzLmgNCmNvbmZpZ3VyZToxMDY1ODogcmVzdWx0OiB5ZXMNCmNv bmZpZ3VyZToxMDU2MjogY2hlY2tpbmcgZm9yIG1lbW9yeS5oDQpjb25maWd1 cmU6MTA1Njc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA1NzE6IGNoZWNr aW5nIHB3ZC5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEwNTgwOiBjYyAtYyAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNv bmZpZ3VyZToxMDU4MzogJD8gPSAwDQpjb25maWd1cmU6MTA1ODY6IHRlc3Qg LXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5OiAkPyA9IDANCmNvbmZp Z3VyZToxMDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDYwMjogY2hl Y2tpbmcgcHdkLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToxMDYwOTogY2MgLUUg IGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToxMDYxNTogJD8gPSAwDQpjb25maWd1 cmU6MTA2MzM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA2NTE6IGNoZWNr aW5nIGZvciBwd2QuaA0KY29uZmlndXJlOjEwNjU4OiByZXN1bHQ6IHllcw0K Y29uZmlndXJlOjEwNTcxOiBjaGVja2luZyBzZWxlY3QuaCB1c2FiaWxpdHkN CmNvbmZpZ3VyZToxMDU4MDogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1 bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTA2MDk6MjA6IHNl bGVjdC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6 MTA1ODM6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQojbGluZSAxMDU3NCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZz LmgiDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpZiBIQVZFX1NZU19UWVBFU19I DQojIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2VuZGlmDQojaWYgSEFWRV9T WVNfU1RBVF9IDQojIGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQojZW5kaWYNCiNp ZiBTVERDX0hFQURFUlMNCiMgaW5jbHVkZSA8c3RkbGliLmg+DQojIGluY2x1 ZGUgPHN0ZGRlZi5oPg0KI2Vsc2UNCiMgaWYgSEFWRV9TVERMSUJfSA0KIyAg aW5jbHVkZSA8c3RkbGliLmg+DQojIGVuZGlmDQojZW5kaWYNCiNpZiBIQVZF X1NUUklOR19IDQojIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllf SA0KIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQojIGVuZGlmDQojIGluY2x1ZGUg PHN0cmluZy5oPg0KI2VuZGlmDQojaWYgSEFWRV9TVFJJTkdTX0gNCiMgaW5j bHVkZSA8c3RyaW5ncy5oPg0KI2VuZGlmDQojaWYgSEFWRV9JTlRUWVBFU19I DQojIGluY2x1ZGUgPGludHR5cGVzLmg+DQojZWxzZQ0KIyBpZiBIQVZFX1NU RElOVF9IDQojICBpbmNsdWRlIDxzdGRpbnQuaD4NCiMgZW5kaWYNCiNlbmRp Zg0KI2lmIEhBVkVfVU5JU1REX0gNCiMgaW5jbHVkZSA8dW5pc3RkLmg+DQoj ZW5kaWYNCiNpbmNsdWRlIDxzZWxlY3QuaD4NCmNvbmZpZ3VyZToxMDU5ODog cmVzdWx0OiBubw0KY29uZmlndXJlOjEwNjAyOiBjaGVja2luZyBzZWxlY3Qu aCBwcmVzZW5jZQ0KY29uZmlndXJlOjEwNjA5OiBjYyAtRSAgY29uZnRlc3Qu Yw0KY29uZmlndXJlOjEwNjA2OjIwOiBzZWxlY3QuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOjEwNjE1OiAkPyA9IDENCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTA2MDUgImNvbmZp Z3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHNlbGVj dC5oPg0KY29uZmlndXJlOjEwNjMzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6 MTA2NTE6IGNoZWNraW5nIGZvciBzZWxlY3QuaA0KY29uZmlndXJlOjEwNjU4 OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTA1NjI6IGNoZWNraW5nIGZvciBz dGRsaWIuaA0KY29uZmlndXJlOjEwNTY3OiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjEwNTcxOiBjaGVja2luZyBzdGRkZWYuaCB1c2FiaWxpdHkNCmNvbmZp Z3VyZToxMDU4MDogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg IGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTA1ODM6ICQ/ID0gMA0KY29u ZmlndXJlOjEwNTg2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTox MDU4OTogJD8gPSAwDQpjb25maWd1cmU6MTA1OTg6IHJlc3VsdDogeWVzDQpj b25maWd1cmU6MTA2MDI6IGNoZWNraW5nIHN0ZGRlZi5oIHByZXNlbmNlDQpj b25maWd1cmU6MTA2MDk6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6 MTA2MTU6ICQ/ID0gMA0KY29uZmlndXJlOjEwNjMzOiByZXN1bHQ6IHllcw0K Y29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBmb3Igc3RkZGVmLmgNCmNvbmZp Z3VyZToxMDY1ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDU2MjogY2hl Y2tpbmcgZm9yIHN0cmluZ3MuaA0KY29uZmlndXJlOjEwNTY3OiByZXN1bHQ6 IHllcw0KY29uZmlndXJlOjEwNTYyOiBjaGVja2luZyBmb3Igc3RyaW5nLmgN CmNvbmZpZ3VyZToxMDU2NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDU3 MTogY2hlY2tpbmcgc3luY2guaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToxMDU4 MDogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0 LmMgPiY1DQpjb25maWd1cmU6MTA2MDk6MTk6IHN5bmNoLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAxDQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwNTc0ICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxz dGRpby5oPg0KI2lmIEhBVkVfU1lTX1RZUEVTX0gNCiMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+DQojZW5kaWYNCiNpZiBIQVZFX1NZU19TVEFUX0gNCiMgaW5j bHVkZSA8c3lzL3N0YXQuaD4NCiNlbmRpZg0KI2lmIFNURENfSEVBREVSUw0K IyBpbmNsdWRlIDxzdGRsaWIuaD4NCiMgaW5jbHVkZSA8c3RkZGVmLmg+DQoj ZWxzZQ0KIyBpZiBIQVZFX1NURExJQl9IDQojICBpbmNsdWRlIDxzdGRsaWIu aD4NCiMgZW5kaWYNCiNlbmRpZg0KI2lmIEhBVkVfU1RSSU5HX0gNCiMgaWYg IVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQojICBpbmNsdWRlIDxt ZW1vcnkuaD4NCiMgZW5kaWYNCiMgaW5jbHVkZSA8c3RyaW5nLmg+DQojZW5k aWYNCiNpZiBIQVZFX1NUUklOR1NfSA0KIyBpbmNsdWRlIDxzdHJpbmdzLmg+ DQojZW5kaWYNCiNpZiBIQVZFX0lOVFRZUEVTX0gNCiMgaW5jbHVkZSA8aW50 dHlwZXMuaD4NCiNlbHNlDQojIGlmIEhBVkVfU1RESU5UX0gNCiMgIGluY2x1 ZGUgPHN0ZGludC5oPg0KIyBlbmRpZg0KI2VuZGlmDQojaWYgSEFWRV9VTklT VERfSA0KIyBpbmNsdWRlIDx1bmlzdGQuaD4NCiNlbmRpZg0KI2luY2x1ZGUg PHN5bmNoLmg+DQpjb25maWd1cmU6MTA1OTg6IHJlc3VsdDogbm8NCmNvbmZp Z3VyZToxMDYwMjogY2hlY2tpbmcgc3luY2guaCBwcmVzZW5jZQ0KY29uZmln dXJlOjEwNjA5OiBjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjEwNjA2 OjE5OiBzeW5jaC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25m aWd1cmU6MTA2MTU6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6DQojbGluZSAxMDYwNSAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNv bmZkZWZzLmgiDQojaW5jbHVkZSA8c3luY2guaD4NCmNvbmZpZ3VyZToxMDYz MzogcmVzdWx0OiBubw0KY29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBmb3Ig c3luY2guaA0KY29uZmlndXJlOjEwNjU4OiByZXN1bHQ6IG5vDQpjb25maWd1 cmU6MTA1NzE6IGNoZWNraW5nIHN5cy9tbWFuLmggdXNhYmlsaXR5DQpjb25m aWd1cmU6MTA1ODA6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjEwNTgzOiAkPyA9IDANCmNv bmZpZ3VyZToxMDU4NjogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6 MTA1ODk6ICQ/ID0gMA0KY29uZmlndXJlOjEwNTk4OiByZXN1bHQ6IHllcw0K Y29uZmlndXJlOjEwNjAyOiBjaGVja2luZyBzeXMvbW1hbi5oIHByZXNlbmNl DQpjb25maWd1cmU6MTA2MDk6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1 cmU6MTA2MTU6ICQ/ID0gMA0KY29uZmlndXJlOjEwNjMzOiByZXN1bHQ6IHll cw0KY29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBmb3Igc3lzL21tYW4uaA0K Y29uZmlndXJlOjEwNjU4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNTcx OiBjaGVja2luZyBzeXMvc29ja2V0LmggdXNhYmlsaXR5DQpjb25maWd1cmU6 MTA1ODA6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25m dGVzdC5jID4mNQ0KY29uZmlndXJlOjEwNTgzOiAkPyA9IDANCmNvbmZpZ3Vy ZToxMDU4NjogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MTA1ODk6 ICQ/ID0gMA0KY29uZmlndXJlOjEwNTk4OiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjEwNjAyOiBjaGVja2luZyBzeXMvc29ja2V0LmggcHJlc2VuY2UNCmNv bmZpZ3VyZToxMDYwOTogY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZTox MDYxNTogJD8gPSAwDQpjb25maWd1cmU6MTA2MzM6IHJlc3VsdDogeWVzDQpj b25maWd1cmU6MTA2NTE6IGNoZWNraW5nIGZvciBzeXMvc29ja2V0LmgNCmNv bmZpZ3VyZToxMDY1ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDU3MTog Y2hlY2tpbmcgbmV0aW5ldC9pbi5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEw NTgwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRl c3QuYyA+JjUNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAwDQpjb25maWd1cmU6 MTA1ODY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5OiAk PyA9IDANCmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy ZToxMDYwMjogY2hlY2tpbmcgbmV0aW5ldC9pbi5oIHByZXNlbmNlDQpjb25m aWd1cmU6MTA2MDk6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MTA2 MTU6ICQ/ID0gMA0KY29uZmlndXJlOjEwNjMzOiByZXN1bHQ6IHllcw0KY29u ZmlndXJlOjEwNjUxOiBjaGVja2luZyBmb3IgbmV0aW5ldC9pbi5oDQpjb25m aWd1cmU6MTA2NTg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA1NzE6IGNo ZWNraW5nIGFycGEvaW5ldC5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEwNTgw OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3Qu YyA+JjUNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAwDQpjb25maWd1cmU6MTA1 ODY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5OiAkPyA9 IDANCmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTox MDYwMjogY2hlY2tpbmcgYXJwYS9pbmV0LmggcHJlc2VuY2UNCmNvbmZpZ3Vy ZToxMDYwOTogY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToxMDYxNTog JD8gPSAwDQpjb25maWd1cmU6MTA2MzM6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTA2NTE6IGNoZWNraW5nIGZvciBhcnBhL2luZXQuaA0KY29uZmlndXJl OjEwNjU4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNTcxOiBjaGVja2lu ZyBzeXMvdGltZWIuaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToxMDU4MDogY2Mg LWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1 DQpjb25maWd1cmU6MTA1ODM6ICQ/ID0gMA0KY29uZmlndXJlOjEwNTg2OiB0 ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxMDU4OTogJD8gPSAwDQpj b25maWd1cmU6MTA1OTg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA2MDI6 IGNoZWNraW5nIHN5cy90aW1lYi5oIHByZXNlbmNlDQpjb25maWd1cmU6MTA2 MDk6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MTA2MTU6ICQ/ID0g MA0KY29uZmlndXJlOjEwNjMzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEw NjUxOiBjaGVja2luZyBmb3Igc3lzL3RpbWViLmgNCmNvbmZpZ3VyZToxMDY1 ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDU2MjogY2hlY2tpbmcgZm9y IHN5cy90eXBlcy5oDQpjb25maWd1cmU6MTA1Njc6IHJlc3VsdDogeWVzDQpj b25maWd1cmU6MTA1NzE6IGNoZWNraW5nIHN5cy91bi5oIHVzYWJpbGl0eQ0K Y29uZmlndXJlOjEwNTgwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAw DQpjb25maWd1cmU6MTA1ODY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmln dXJlOjEwNTg5OiAkPyA9IDANCmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0OiB5 ZXMNCmNvbmZpZ3VyZToxMDYwMjogY2hlY2tpbmcgc3lzL3VuLmggcHJlc2Vu Y2UNCmNvbmZpZ3VyZToxMDYwOTogY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZp Z3VyZToxMDYxNTogJD8gPSAwDQpjb25maWd1cmU6MTA2MzM6IHJlc3VsdDog eWVzDQpjb25maWd1cmU6MTA2NTE6IGNoZWNraW5nIGZvciBzeXMvdW4uaA0K Y29uZmlndXJlOjEwNjU4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNTcx OiBjaGVja2luZyBzeXMvdmFkdmlzZS5oIHVzYWJpbGl0eQ0KY29uZmlndXJl OjEwNTgwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29u ZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxMDYwOToyNTogc3lzL3ZhZHZpc2Uu aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOjEwNTgz OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xp bmUgMTA1NzQgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0K I2luY2x1ZGUgPHN0ZGlvLmg+DQojaWYgSEFWRV9TWVNfVFlQRVNfSA0KIyBp bmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNlbmRpZg0KI2lmIEhBVkVfU1lTX1NU QVRfSA0KIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KI2VuZGlmDQojaWYgU1RE Q19IRUFERVJTDQojIGluY2x1ZGUgPHN0ZGxpYi5oPg0KIyBpbmNsdWRlIDxz dGRkZWYuaD4NCiNlbHNlDQojIGlmIEhBVkVfU1RETElCX0gNCiMgIGluY2x1 ZGUgPHN0ZGxpYi5oPg0KIyBlbmRpZg0KI2VuZGlmDQojaWYgSEFWRV9TVFJJ TkdfSA0KIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCiMg IGluY2x1ZGUgPG1lbW9yeS5oPg0KIyBlbmRpZg0KIyBpbmNsdWRlIDxzdHJp bmcuaD4NCiNlbmRpZg0KI2lmIEhBVkVfU1RSSU5HU19IDQojIGluY2x1ZGUg PHN0cmluZ3MuaD4NCiNlbmRpZg0KI2lmIEhBVkVfSU5UVFlQRVNfSA0KIyBp bmNsdWRlIDxpbnR0eXBlcy5oPg0KI2Vsc2UNCiMgaWYgSEFWRV9TVERJTlRf SA0KIyAgaW5jbHVkZSA8c3RkaW50Lmg+DQojIGVuZGlmDQojZW5kaWYNCiNp ZiBIQVZFX1VOSVNURF9IDQojIGluY2x1ZGUgPHVuaXN0ZC5oPg0KI2VuZGlm DQojaW5jbHVkZSA8c3lzL3ZhZHZpc2UuaD4NCmNvbmZpZ3VyZToxMDU5ODog cmVzdWx0OiBubw0KY29uZmlndXJlOjEwNjAyOiBjaGVja2luZyBzeXMvdmFk dmlzZS5oIHByZXNlbmNlDQpjb25maWd1cmU6MTA2MDk6IGNjIC1FICBjb25m dGVzdC5jDQpjb25maWd1cmU6MTA2MDY6MjU6IHN5cy92YWR2aXNlLmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxMDYxNTogJD8g PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEw NjA1ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNs dWRlIDxzeXMvdmFkdmlzZS5oPg0KY29uZmlndXJlOjEwNjMzOiByZXN1bHQ6 IG5vDQpjb25maWd1cmU6MTA2NTE6IGNoZWNraW5nIGZvciBzeXMvdmFkdmlz ZS5oDQpjb25maWd1cmU6MTA2NTg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZTox MDU2MjogY2hlY2tpbmcgZm9yIHN5cy93YWl0LmgNCmNvbmZpZ3VyZToxMDU2 NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDU3MTogY2hlY2tpbmcgdGVy bS5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEwNTgwOiBjYyAtYyAtTyAtcGlw ZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3Vy ZToxMDU4MzogJD8gPSAwDQpjb25maWd1cmU6MTA1ODY6IHRlc3QgLXMgY29u ZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5OiAkPyA9IDANCmNvbmZpZ3VyZTox MDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDYwMjogY2hlY2tpbmcg dGVybS5oIHByZXNlbmNlDQpjb25maWd1cmU6MTA2MDk6IGNjIC1FICBjb25m dGVzdC5jDQpjb25maWd1cmU6MTA2MTU6ICQ/ID0gMA0KY29uZmlndXJlOjEw NjMzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBm b3IgdGVybS5oDQpjb25maWd1cmU6MTA2NTg6IHJlc3VsdDogeWVzDQpjb25m aWd1cmU6MTA1NjI6IGNoZWNraW5nIGZvciB1bmlzdGQuaA0KY29uZmlndXJl OjEwNTY3OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwNTcxOiBjaGVja2lu ZyB1dGltZS5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEwNTgwOiBjYyAtYyAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNv bmZpZ3VyZToxMDU4MzogJD8gPSAwDQpjb25maWd1cmU6MTA1ODY6IHRlc3Qg LXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwNTg5OiAkPyA9IDANCmNvbmZp Z3VyZToxMDU5ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDYwMjogY2hl Y2tpbmcgdXRpbWUuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjEwNjA5OiBjYyAt RSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjEwNjE1OiAkPyA9IDANCmNvbmZp Z3VyZToxMDYzMzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDY1MTogY2hl Y2tpbmcgZm9yIHV0aW1lLmgNCmNvbmZpZ3VyZToxMDY1ODogcmVzdWx0OiB5 ZXMNCmNvbmZpZ3VyZToxMDU3MTogY2hlY2tpbmcgc3lzL3V0aW1lLmggdXNh YmlsaXR5DQpjb25maWd1cmU6MTA1ODA6IGNjIC1jIC1PIC1waXBlIC1tY3B1 PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjEwNjA5 OjIzOiBzeXMvdXRpbWUuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0K Y29uZmlndXJlOjEwNTgzOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOg0KI2xpbmUgMTA1NzQgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaWYgSEFWRV9T WVNfVFlQRVNfSA0KIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNlbmRpZg0K I2lmIEhBVkVfU1lTX1NUQVRfSA0KIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0K I2VuZGlmDQojaWYgU1REQ19IRUFERVJTDQojIGluY2x1ZGUgPHN0ZGxpYi5o Pg0KIyBpbmNsdWRlIDxzdGRkZWYuaD4NCiNlbHNlDQojIGlmIEhBVkVfU1RE TElCX0gNCiMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KIyBlbmRpZg0KI2VuZGlm DQojaWYgSEFWRV9TVFJJTkdfSA0KIyBpZiAhU1REQ19IRUFERVJTICYmIEhB VkVfTUVNT1JZX0gNCiMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KIyBlbmRpZg0K IyBpbmNsdWRlIDxzdHJpbmcuaD4NCiNlbmRpZg0KI2lmIEhBVkVfU1RSSU5H U19IDQojIGluY2x1ZGUgPHN0cmluZ3MuaD4NCiNlbmRpZg0KI2lmIEhBVkVf SU5UVFlQRVNfSA0KIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KI2Vsc2UNCiMg aWYgSEFWRV9TVERJTlRfSA0KIyAgaW5jbHVkZSA8c3RkaW50Lmg+DQojIGVu ZGlmDQojZW5kaWYNCiNpZiBIQVZFX1VOSVNURF9IDQojIGluY2x1ZGUgPHVu aXN0ZC5oPg0KI2VuZGlmDQojaW5jbHVkZSA8c3lzL3V0aW1lLmg+DQpjb25m aWd1cmU6MTA1OTg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxMDYwMjogY2hl Y2tpbmcgc3lzL3V0aW1lLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToxMDYwOTog Y2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToxMDYwNjoyMzogc3lzL3V0 aW1lLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZTox MDYxNTogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoN CiNsaW5lIDEwNjA1ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMu aCINCiNpbmNsdWRlIDxzeXMvdXRpbWUuaD4NCmNvbmZpZ3VyZToxMDYzMzog cmVzdWx0OiBubw0KY29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBmb3Igc3lz L3V0aW1lLmgNCmNvbmZpZ3VyZToxMDY1ODogcmVzdWx0OiBubw0KY29uZmln dXJlOjEwNTcxOiBjaGVja2luZyB0ZXJtaW8uaCB1c2FiaWxpdHkNCmNvbmZp Z3VyZToxMDU4MDogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg IGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTA2MDk6MjA6IHRlcm1pby5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6MTA1ODM6 ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSAxMDU3NCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoj aW5jbHVkZSA8c3RkaW8uaD4NCiNpZiBIQVZFX1NZU19UWVBFU19IDQojIGlu Y2x1ZGUgPHN5cy90eXBlcy5oPg0KI2VuZGlmDQojaWYgSEFWRV9TWVNfU1RB VF9IDQojIGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQojZW5kaWYNCiNpZiBTVERD X0hFQURFUlMNCiMgaW5jbHVkZSA8c3RkbGliLmg+DQojIGluY2x1ZGUgPHN0 ZGRlZi5oPg0KI2Vsc2UNCiMgaWYgSEFWRV9TVERMSUJfSA0KIyAgaW5jbHVk ZSA8c3RkbGliLmg+DQojIGVuZGlmDQojZW5kaWYNCiNpZiBIQVZFX1NUUklO R19IDQojIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KIyAg aW5jbHVkZSA8bWVtb3J5Lmg+DQojIGVuZGlmDQojIGluY2x1ZGUgPHN0cmlu Zy5oPg0KI2VuZGlmDQojaWYgSEFWRV9TVFJJTkdTX0gNCiMgaW5jbHVkZSA8 c3RyaW5ncy5oPg0KI2VuZGlmDQojaWYgSEFWRV9JTlRUWVBFU19IDQojIGlu Y2x1ZGUgPGludHR5cGVzLmg+DQojZWxzZQ0KIyBpZiBIQVZFX1NURElOVF9I DQojICBpbmNsdWRlIDxzdGRpbnQuaD4NCiMgZW5kaWYNCiNlbmRpZg0KI2lm IEhBVkVfVU5JU1REX0gNCiMgaW5jbHVkZSA8dW5pc3RkLmg+DQojZW5kaWYN CiNpbmNsdWRlIDx0ZXJtaW8uaD4NCmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0 OiBubw0KY29uZmlndXJlOjEwNjAyOiBjaGVja2luZyB0ZXJtaW8uaCBwcmVz ZW5jZQ0KY29uZmlndXJlOjEwNjA5OiBjYyAtRSAgY29uZnRlc3QuYw0KY29u ZmlndXJlOjEwNjA2OjIwOiB0ZXJtaW8uaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQ0KY29uZmlndXJlOjEwNjE1OiAkPyA9IDENCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTA2MDUgImNvbmZpZ3VyZSIN CiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHRlcm1pby5oPg0K Y29uZmlndXJlOjEwNjMzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTA2NTE6 IGNoZWNraW5nIGZvciB0ZXJtaW8uaA0KY29uZmlndXJlOjEwNjU4OiByZXN1 bHQ6IG5vDQpjb25maWd1cmU6MTA1NzE6IGNoZWNraW5nIHRlcm1pb3MuaCB1 c2FiaWxpdHkNCmNvbmZpZ3VyZToxMDU4MDogY2MgLWMgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTA1 ODM6ICQ/ID0gMA0KY29uZmlndXJlOjEwNTg2OiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8NCmNvbmZpZ3VyZToxMDU4OTogJD8gPSAwDQpjb25maWd1cmU6MTA1OTg6 IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA2MDI6IGNoZWNraW5nIHRlcm1p b3MuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjEwNjA5OiBjYyAtRSAgY29uZnRl c3QuYw0KY29uZmlndXJlOjEwNjE1OiAkPyA9IDANCmNvbmZpZ3VyZToxMDYz MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDY1MTogY2hlY2tpbmcgZm9y IHRlcm1pb3MuaA0KY29uZmlndXJlOjEwNjU4OiByZXN1bHQ6IHllcw0KY29u ZmlndXJlOjEwNTcxOiBjaGVja2luZyBzY2hlZC5oIHVzYWJpbGl0eQ0KY29u ZmlndXJlOjEwNTgwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJv ICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAwDQpj b25maWd1cmU6MTA1ODY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJl OjEwNTg5OiAkPyA9IDANCmNvbmZpZ3VyZToxMDU5ODogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToxMDYwMjogY2hlY2tpbmcgc2NoZWQuaCBwcmVzZW5jZQ0K Y29uZmlndXJlOjEwNjA5OiBjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJl OjEwNjE1OiAkPyA9IDANCmNvbmZpZ3VyZToxMDYzMzogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToxMDY1MTogY2hlY2tpbmcgZm9yIHNjaGVkLmgNCmNvbmZp Z3VyZToxMDY1ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDU3MTogY2hl Y2tpbmcgY3J5cHQuaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToxMDU4MDogY2Mg LWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1 DQpjb25maWd1cmU6MTA2MDk6MTk6IGNyeXB0Lmg6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAxDQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwNTc0ICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzdGRpby5o Pg0KI2lmIEhBVkVfU1lTX1RZUEVTX0gNCiMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+DQojZW5kaWYNCiNpZiBIQVZFX1NZU19TVEFUX0gNCiMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4NCiNlbmRpZg0KI2lmIFNURENfSEVBREVSUw0KIyBpbmNs dWRlIDxzdGRsaWIuaD4NCiMgaW5jbHVkZSA8c3RkZGVmLmg+DQojZWxzZQ0K IyBpZiBIQVZFX1NURExJQl9IDQojICBpbmNsdWRlIDxzdGRsaWIuaD4NCiMg ZW5kaWYNCiNlbmRpZg0KI2lmIEhBVkVfU1RSSU5HX0gNCiMgaWYgIVNURENf SEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQojICBpbmNsdWRlIDxtZW1vcnku aD4NCiMgZW5kaWYNCiMgaW5jbHVkZSA8c3RyaW5nLmg+DQojZW5kaWYNCiNp ZiBIQVZFX1NUUklOR1NfSA0KIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQojZW5k aWYNCiNpZiBIQVZFX0lOVFRZUEVTX0gNCiMgaW5jbHVkZSA8aW50dHlwZXMu aD4NCiNlbHNlDQojIGlmIEhBVkVfU1RESU5UX0gNCiMgIGluY2x1ZGUgPHN0 ZGludC5oPg0KIyBlbmRpZg0KI2VuZGlmDQojaWYgSEFWRV9VTklTVERfSA0K IyBpbmNsdWRlIDx1bmlzdGQuaD4NCiNlbmRpZg0KI2luY2x1ZGUgPGNyeXB0 Lmg+DQpjb25maWd1cmU6MTA1OTg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZTox MDYwMjogY2hlY2tpbmcgY3J5cHQuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjEw NjA5OiBjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjEwNjA2OjE5OiBj cnlwdC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6 MTA2MTU6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQojbGluZSAxMDYwNSAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZz LmgiDQojaW5jbHVkZSA8Y3J5cHQuaD4NCmNvbmZpZ3VyZToxMDYzMzogcmVz dWx0OiBubw0KY29uZmlndXJlOjEwNjUxOiBjaGVja2luZyBmb3IgY3J5cHQu aA0KY29uZmlndXJlOjEwNjU4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTA1 NzE6IGNoZWNraW5nIGFsbG9jYS5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjEw NTgwOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRl c3QuYyA+JjUNCmNvbmZpZ3VyZToxMDYwOToyMDogYWxsb2NhLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxMDU4MzogJD8gPSAx DQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwNTc0 ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRl IDxzdGRpby5oPg0KI2lmIEhBVkVfU1lTX1RZUEVTX0gNCiMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+DQojZW5kaWYNCiNpZiBIQVZFX1NZU19TVEFUX0gNCiMg aW5jbHVkZSA8c3lzL3N0YXQuaD4NCiNlbmRpZg0KI2lmIFNURENfSEVBREVS Uw0KIyBpbmNsdWRlIDxzdGRsaWIuaD4NCiMgaW5jbHVkZSA8c3RkZGVmLmg+ DQojZWxzZQ0KIyBpZiBIQVZFX1NURExJQl9IDQojICBpbmNsdWRlIDxzdGRs aWIuaD4NCiMgZW5kaWYNCiNlbmRpZg0KI2lmIEhBVkVfU1RSSU5HX0gNCiMg aWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQojICBpbmNsdWRl IDxtZW1vcnkuaD4NCiMgZW5kaWYNCiMgaW5jbHVkZSA8c3RyaW5nLmg+DQoj ZW5kaWYNCiNpZiBIQVZFX1NUUklOR1NfSA0KIyBpbmNsdWRlIDxzdHJpbmdz Lmg+DQojZW5kaWYNCiNpZiBIQVZFX0lOVFRZUEVTX0gNCiMgaW5jbHVkZSA8 aW50dHlwZXMuaD4NCiNlbHNlDQojIGlmIEhBVkVfU1RESU5UX0gNCiMgIGlu Y2x1ZGUgPHN0ZGludC5oPg0KIyBlbmRpZg0KI2VuZGlmDQojaWYgSEFWRV9V TklTVERfSA0KIyBpbmNsdWRlIDx1bmlzdGQuaD4NCiNlbmRpZg0KI2luY2x1 ZGUgPGFsbG9jYS5oPg0KY29uZmlndXJlOjEwNTk4OiByZXN1bHQ6IG5vDQpj b25maWd1cmU6MTA2MDI6IGNoZWNraW5nIGFsbG9jYS5oIHByZXNlbmNlDQpj b25maWd1cmU6MTA2MDk6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6 MTA2MDY6MjA6IGFsbG9jYS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 DQpjb25maWd1cmU6MTA2MTU6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6DQojbGluZSAxMDYwNSAiY29uZmlndXJlIg0KI2luY2x1 ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8YWxsb2NhLmg+DQpjb25maWd1 cmU6MTA2MzM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxMDY1MTogY2hlY2tp bmcgZm9yIGFsbG9jYS5oDQpjb25maWd1cmU6MTA2NTg6IHJlc3VsdDogbm8N CmNvbmZpZ3VyZToxMDU3MTogY2hlY2tpbmcgc3lzL2lvY3RsLmggdXNhYmls aXR5DQpjb25maWd1cmU6MTA1ODA6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjEwNTgzOiAk PyA9IDANCmNvbmZpZ3VyZToxMDU4NjogdGVzdCAtcyBjb25mdGVzdC5vDQpj b25maWd1cmU6MTA1ODk6ICQ/ID0gMA0KY29uZmlndXJlOjEwNTk4OiByZXN1 bHQ6IHllcw0KY29uZmlndXJlOjEwNjAyOiBjaGVja2luZyBzeXMvaW9jdGwu aCBwcmVzZW5jZQ0KY29uZmlndXJlOjEwNjA5OiBjYyAtRSAgY29uZnRlc3Qu Yw0KY29uZmlndXJlOjEwNjE1OiAkPyA9IDANCmNvbmZpZ3VyZToxMDYzMzog cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDY1MTogY2hlY2tpbmcgZm9yIHN5 cy9pb2N0bC5oDQpjb25maWd1cmU6MTA2NTg6IHJlc3VsdDogeWVzDQpjb25m aWd1cmU6MTA2Nzg6IGNoZWNraW5nIGZvciBmbG9vciBpbiAtbG0NCmNvbmZp Z3VyZToxMDcxMTogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1sbSAgID4mNQ0KY29uZmlndXJlOjEw NzE0OiAkPyA9IDANCmNvbmZpZ3VyZToxMDcxNzogdGVzdCAtcyBjb25mdGVz dA0KY29uZmlndXJlOjEwNzIwOiAkPyA9IDANCmNvbmZpZ3VyZToxMDczMTog cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDgxMDogY2hlY2tpbmcgZm9yIGdl dGhvc3RieW5hbWVfciBpbiAtbG5zbF9yDQpjb25maWd1cmU6MTA4NDM6IGNj IC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29u ZnRlc3QuYyAtbG5zbF9yICAtbG0gID4mNQ0KL3Vzci9iaW4vbGQ6IGNhbm5v dCBmaW5kIC1sbnNsX3INCmNvbmZpZ3VyZToxMDg0NjogJD8gPSAxDQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwODE4ICJjb25m aWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KLyogT3ZlcnJpZGUg YW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y LiAgKi8NCiNpZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlm DQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0K Y2hhciBnZXRob3N0YnluYW1lX3IgKCk7DQojaWZkZWYgRjc3X0RVTU1ZX01B SU4NCiMgIGlmZGVmIF9fY3BsdXNwbHVzDQogICAgIGV4dGVybiAiQyINCiMg IGVuZGlmDQogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9 DQojZW5kaWYNCmludA0KbWFpbiAoKQ0Kew0KZ2V0aG9zdGJ5bmFtZV9yICgp Ow0KICA7DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjEwODYzOiByZXN1 bHQ6IG5vDQpjb25maWd1cmU6MTA4NzQ6IGNoZWNraW5nIGZvciBnZXRob3N0 YnluYW1lX3IgaW4gLWxuc2wNCmNvbmZpZ3VyZToxMDkwNzogY2MgLW8gY29u ZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5j IC1sbnNsICAtbG0gID4mNQ0KL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1s bnNsDQpjb25maWd1cmU6MTA5MTA6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxMDg4MiAiY29uZmlndXJlIg0KI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQoNCi8qIE92ZXJyaWRlIGFueSBnY2MyIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZk ZWYgX19jcGx1c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgZ2NjMg0KICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgZ2V0aG9z dGJ5bmFtZV9yICgpOw0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRl ZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAg aW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQpp bnQNCm1haW4gKCkNCnsNCmdldGhvc3RieW5hbWVfciAoKTsNCiAgOw0KICBy ZXR1cm4gMDsNCn0NCmNvbmZpZ3VyZToxMDkyNzogcmVzdWx0OiBubw0KY29u ZmlndXJlOjEwOTQwOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZV9yDQpj b25maWd1cmU6MTA5ODM6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1 PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbG0gID4mNQ0KL3Zhci90bXAv L2NjTEM5bnE5Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9j Y0xDOW5xOS5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YGdldGhvc3RieW5hbWVfcicNCmNvbmZpZ3VyZToxMDk4NjogJD8gPSAxDQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwOTQ2ICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm ZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj aGFyIGdldGhvc3RieW5hbWVfciAoKTsgYmVsb3cuICAqLw0KI2luY2x1ZGUg PGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNpZmRlZiBfX2NwbHVz cGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1c2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My DQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBnZXRob3N0YnluYW1lX3Ig KCk7DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0K IyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5k aWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNl bmRpZg0KaW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz DQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAg Ki8NCiNpZiBkZWZpbmVkIChfX3N0dWJfZ2V0aG9zdGJ5bmFtZV9yKSB8fCBk ZWZpbmVkIChfX3N0dWJfX19nZXRob3N0YnluYW1lX3IpDQpjaG9rZSBtZQ0K I2Vsc2UNCmYgPSBnZXRob3N0YnluYW1lX3I7DQojZW5kaWYNCg0KICA7DQog IHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjExMDAyOiByZXN1bHQ6IG5vDQpj b25maWd1cmU6MTEwMDY6IGNoZWNraW5nIGZvciBzZXRzb2Nrb3B0DQpjb25m aWd1cmU6MTEwNDk6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbG0gID4mNQ0KY29uZmlndXJlOjEx MDUyOiAkPyA9IDANCmNvbmZpZ3VyZToxMTA1NTogdGVzdCAtcyBjb25mdGVz dA0KY29uZmlndXJlOjExMDU4OiAkPyA9IDANCmNvbmZpZ3VyZToxMTA2ODog cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMTE0MDogY2hlY2tpbmcgZm9yIHlw X2dldF9kZWZhdWx0X2RvbWFpbg0KY29uZmlndXJlOjExMTgzOiBjYyAtbyBj b25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0 LmMgLWxtICA+JjUNCmNvbmZpZ3VyZToxMTE4NjogJD8gPSAwDQpjb25maWd1 cmU6MTExODk6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxMTE5Mjog JD8gPSAwDQpjb25maWd1cmU6MTEyMDI6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTEyNzQ6IGNoZWNraW5nIGZvciBwMm9wZW4NCmNvbmZpZ3VyZToxMTMx NzogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg ICBjb25mdGVzdC5jIC1sbSAgPiY1DQovdmFyL3RtcC8vY2M3dmVKWHMubzog SW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zhci90bXAvL2NjN3ZlSlhzLm8oLnRl eHQrMHhmKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcDJvcGVuJw0KY29u ZmlndXJlOjExMzIwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOg0KI2xpbmUgMTEyODAgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJj b25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgcDJvcGVuICgpOyBiZWxvdy4g ICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2Nj MiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0K I2lmZGVmIF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdl IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIHAy b3BlbiAoKTsNCmNoYXIgKCpmKSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9N QUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQoj ICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsg fQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBz dGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9wMm9wZW4pIHx8IGRlZmlu ZWQgKF9fc3R1Yl9fX3Ayb3BlbikNCmNob2tlIG1lDQojZWxzZQ0KZiA9IHAy b3BlbjsNCiNlbmRpZg0KDQogIDsNCiAgcmV0dXJuIDA7DQp9DQpjb25maWd1 cmU6MTEzMzY6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxMTM0MjogY2hlY2tp bmcgZm9yIHAyb3BlbiBpbiAtbGdlbg0KY29uZmlndXJlOjExMzc1OiBjYyAt byBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0 ZXN0LmMgLWxnZW4gIC1sbSAgPiY1DQovdXNyL2Jpbi9sZDogY2Fubm90IGZp bmQgLWxnZW4NCmNvbmZpZ3VyZToxMTM3ODogJD8gPSAxDQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDExMzUwICJjb25maWd1cmUi DQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KLyogT3ZlcnJpZGUgYW55IGdj YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8N CiNpZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBX ZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1 bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBw Mm9wZW4gKCk7DQojaWZkZWYgRjc3X0RVTU1ZX01BSU4NCiMgIGlmZGVmIF9f Y3BsdXNwbHVzDQogICAgIGV4dGVybiAiQyINCiMgIGVuZGlmDQogICBpbnQg Rjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9DQojZW5kaWYNCmludA0K bWFpbiAoKQ0Kew0KcDJvcGVuICgpOw0KICA7DQogIHJldHVybiAwOw0KfQ0K Y29uZmlndXJlOjExMzk1OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTE0MDk6 IGNoZWNraW5nIGZvciBiaW5kDQpjb25maWd1cmU6MTE0NTI6IGNjIC1vIGNv bmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3Qu YyAtbG0gID4mNQ0KY29uZmlndXJlOjExNDU1OiAkPyA9IDANCmNvbmZpZ3Vy ZToxMTQ1ODogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjExNDYxOiAk PyA9IDANCmNvbmZpZ3VyZToxMTQ3MTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy ZToxMTU0NTogY2hlY2tpbmcgZm9yIGNyeXB0IGluIC1sY3J5cHQNCmNvbmZp Z3VyZToxMTU3ODogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1sY3J5cHQgIC1sbSAgPiY1DQpjb25m aWd1cmU6MTE1ODE6ICQ/ID0gMA0KY29uZmlndXJlOjExNTg0OiB0ZXN0IC1z IGNvbmZ0ZXN0DQpjb25maWd1cmU6MTE1ODc6ICQ/ID0gMA0KY29uZmlndXJl OjExNTk4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjExNjA5OiBjaGVja2lu ZyBmb3IgY3J5cHQNCmNvbmZpZ3VyZToxMTY1MjogY2MgLW8gY29uZnRlc3Qg LU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1sY3J5 cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxMTY1NTogJD8gPSAwDQpjb25maWd1 cmU6MTE2NTg6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxMTY2MTog JD8gPSAwDQpjb25maWd1cmU6MTE2NzE6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTE2ODI6IGNoZWNraW5nIGZvciBzZW1faW5pdA0KY29uZmlndXJlOjEx NzI1OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJv ICAgIGNvbmZ0ZXN0LmMgLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjEx NzI4OiAkPyA9IDANCmNvbmZpZ3VyZToxMTczMTogdGVzdCAtcyBjb25mdGVz dA0KY29uZmlndXJlOjExNzM0OiAkPyA9IDANCmNvbmZpZ3VyZToxMTc0NDog cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMTgyMTogY2hlY2tpbmcgaWYgbGli eiB3aXRoIGNvbXByZXNzDQpjb25maWd1cmU6MTE4NTA6IGNjIC1vIGNvbmZ0 ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAt bHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjExODUzOiAkPyA9IDAN CmNvbmZpZ3VyZToxMTg1NjogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJl OjExODU5OiAkPyA9IDANCmNvbmZpZ3VyZToxMTg2OTogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToxMTkxMzogY2hlY2tpbmcgdGNwZC5oIHVzYWJpbGl0eQ0K Y29uZmlndXJlOjExOTIyOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxMTkyNTogJD8gPSAw DQpjb25maWd1cmU6MTE5Mjg6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmln dXJlOjExOTMxOiAkPyA9IDANCmNvbmZpZ3VyZToxMTk0MDogcmVzdWx0OiB5 ZXMNCmNvbmZpZ3VyZToxMTk0NDogY2hlY2tpbmcgdGNwZC5oIHByZXNlbmNl DQpjb25maWd1cmU6MTE5NTE6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1 cmU6MTE5NTc6ICQ/ID0gMA0KY29uZmlndXJlOjExOTc1OiByZXN1bHQ6IHll cw0KY29uZmlndXJlOjExOTkzOiBjaGVja2luZyBmb3IgdGNwZC5oDQpjb25m aWd1cmU6MTIwMDA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTIwMDY6IGNo ZWNraW5nIGZvciBUQ1Agd3JhcHBlcnMgbGlicmFyeSAtbHdyYXANCmNvbmZp Z3VyZToxMjAzMjogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1sd3JhcCAtbHogLWxjcnlwdCAtbG0g ID4mNQ0KY29uZmlndXJlOjEyMDM1OiAkPyA9IDANCmNvbmZpZ3VyZToxMjAz ODogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjEyMDQxOiAkPyA9IDAN CmNvbmZpZ3VyZToxMjA0MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMjMx NDogY2hlY2tpbmcgZm9yIGludDgNCmNvbmZpZ3VyZToxMjM0NTogY2MgLW8g Y29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVz dC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6IEluIGZ1bmN0 aW9uIGBtYWluJzoNCmNvbmZpZ3VyZToxMjMzODogZXJyb3I6IHN5bnRheCBl cnJvciBiZWZvcmUgImkiDQpjb25maWd1cmU6MTIzNDg6ICQ/ID0gMQ0KY29u ZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxDQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEyMzIyICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KI2lmZGVmIEhBVkVfU1RE TElCX0gNCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNlbmRpZg0KDQojaWZkZWYg SEFWRV9TVERERUZfSA0KI2luY2x1ZGUgPHN0ZGRlZi5oPg0KI2VuZGlmDQoN CiNpZmRlZiBIQVZFX1NZU19UWVBFU19IDQojaW5jbHVkZSA8c3lzL3R5cGVz Lmg+DQojZW5kaWYNCg0KaW50IG1haW4oKQ0Kew0KICBpbnQ4IGk7DQogIHJl dHVybiAwOw0KfQ0KDQpjb25maWd1cmU6MTIzNjU6IHJlc3VsdDogbm8NCmNv bmZpZ3VyZToxMjU0MDogY2hlY2tpbmcgIkxpbnV4VGhyZWFkcyINCmNvbmZp Z3VyZToxMjU5NTogcmVzdWx0OiAiTm90IGZvdW5kIg0KY29uZmlndXJlOjEy NjEwOiBjaGVja2luZyAiREVDIHRocmVhZHMiDQpjb25maWd1cmU6MTI2MjM6 IHJlc3VsdDogIm5vIg0KY29uZmlndXJlOjEyNjI1OiBjaGVja2luZyAiREVD IDMuMiB0aHJlYWRzIg0KY29uZmlndXJlOjEyNjQzOiByZXN1bHQ6ICJubyIN CmNvbmZpZ3VyZToxMjY1NjogY2hlY2tpbmcgIlNDTyB0aHJlYWRzIg0KY29u ZmlndXJlOjEyNzYzOiByZXN1bHQ6ICJubyINCmNvbmZpZ3VyZToxMjc3MTog Y2hlY2tpbmcgIlNDTyBVbml4V2FyZTcgbmF0aXZlIHRocmVhZHMiDQpjb25m aWd1cmU6MTI4MDk6IHJlc3VsdDogIm5vIg0KY29uZmlndXJlOjEyODE4OiBj aGVja2luZyAiT3BlblVOSVg4IG5hdGl2ZSB0aHJlYWRzIg0KY29uZmlndXJl OjEyODU2OiByZXN1bHQ6ICJubyINCmNvbmZpZ3VyZToxMjg2NDogY2hlY2tp bmcgIlNpZW1lbnMgdGhyZWFkcyINCmNvbmZpZ3VyZToxMjg3NzogcmVzdWx0 OiAibm8iDQpjb25maWd1cmU6MTI4OTU6IGNoZWNraW5nICJTb2xhcmlzIHRo cmVhZHMiDQpjb25maWd1cmU6MTI5MDM6IHJlc3VsdDogIm5vIg0KY29uZmln dXJlOjEyOTA5OiBjaGVja2luZyAibmFtZWQgdGhyZWFkIGxpYnM6Ig0KY29u ZmlndXJlOjEyOTE5OiByZXN1bHQ6ICJubyINCmNvbmZpZ3VyZToxMjkyNDog Y2hlY2tpbmcgImZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbGliYyINCmNvbmZp Z3VyZToxMjk0NTogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQov dmFyL3RtcC8vY2NOUkhMeXQubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zh ci90bXAvL2NjTlJITHl0Lm8oLnRleHQrMHgyOSk6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYHB0aHJlYWRfY3JlYXRlJw0KY29uZmlndXJlOjEyOTQ4OiAk PyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUg MTI5MjcgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2lu Y2x1ZGUgPHB0aHJlYWQuaD4NCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAg aWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYN CiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRp Zg0KaW50DQptYWluICgpDQp7DQogKHZvaWQpIHB0aHJlYWRfY3JlYXRlKChw dGhyZWFkX3QqKSAwLChwdGhyZWFkX2F0dHJfdCopIDAsIDAsIDApOw0KICA7 DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjEyOTYzOiByZXN1bHQ6ICJu byINCmNvbmZpZ3VyZToxMjk2NzogY2hlY2tpbmcgImZvciBwdGhyZWFkX2Ny ZWF0ZSBpbiAtbHB0aHJlYWQiDQpjb25maWd1cmU6MTI5OTA6IGNjIC1vIGNv bmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3Qu YyAtbHogLWxjcnlwdCAtbG0gIC1scHRocmVhZCA+JjUNCi91c3IvYmluL2xk OiBjYW5ub3QgZmluZCAtbHB0aHJlYWQNCmNvbmZpZ3VyZToxMjk5MzogJD8g PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEy OTcyICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNs dWRlIDxwdGhyZWFkLmg+DQojaWZkZWYgRjc3X0RVTU1ZX01BSU4NCiMgIGlm ZGVmIF9fY3BsdXNwbHVzDQogICAgIGV4dGVybiAiQyINCiMgIGVuZGlmDQog ICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9DQojZW5kaWYN CmludA0KbWFpbiAoKQ0Kew0KICh2b2lkKSBwdGhyZWFkX2NyZWF0ZSgocHRo cmVhZF90KikgMCwocHRocmVhZF9hdHRyX3QqKSAwLCAwLCAwKTsNCiAgOw0K ICByZXR1cm4gMDsNCn0NCmNvbmZpZ3VyZToxMzAwODogcmVzdWx0OiAibm8i DQpjb25maWd1cmU6MTMwMTM6IGNoZWNraW5nICJmb3IgcHRocmVhZF9jcmVh dGUgaW4gLWxwdGhyZWFkcyINCmNvbmZpZ3VyZToxMzAzNDogY2MgLW8gY29u ZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5j ICAtbHogLWxjcnlwdCAtbG0gIC1scHRocmVhZHMgPiY1DQovdXNyL2Jpbi9s ZDogY2Fubm90IGZpbmQgLWxwdGhyZWFkcw0KY29uZmlndXJlOjEzMDM3OiAk PyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUg MTMwMTYgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2lu Y2x1ZGUgPHB0aHJlYWQuaD4NCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAg aWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYN CiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRp Zg0KaW50DQptYWluICgpDQp7DQogcHRocmVhZF9jcmVhdGUoKHB0aHJlYWRf dCopIDAsKHB0aHJlYWRfYXR0cl90KikgMCwgMCwgMCk7DQogIDsNCiAgcmV0 dXJuIDA7DQp9DQpjb25maWd1cmU6MTMwNTI6IHJlc3VsdDogIm5vIg0KY29u ZmlndXJlOjEzMDU4OiBjaGVja2luZyAiZm9yIHB0aHJlYWRfY3JlYXRlIGlu IC1wdGhyZWFkIg0KY29uZmlndXJlOjEzMDc5OiBjYyAtbyBjb25mdGVzdCAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1s Y3J5cHQgLWxtICAtcHRocmVhZCA+JjUNCmNjOiBUaGUgLXB0aHJlYWQgb3B0 aW9uIGlzIGRlcHJlY2F0ZWQuDQpjb25maWd1cmU6MTMwODI6ICQ/ID0gMQ0K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxMzA2MSAi Y29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8 cHRocmVhZC5oPg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBf X2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50 IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQN Cm1haW4gKCkNCnsNCiBwdGhyZWFkX2NyZWF0ZSgocHRocmVhZF90KikgMCwo cHRocmVhZF9hdHRyX3QqKSAwLCAwLCAwKTsNCiAgOw0KICByZXR1cm4gMDsN Cn0NCmNvbmZpZ3VyZToxMzA5NzogcmVzdWx0OiAibm8iDQpjb25maWd1cmU6 MTMxMTY6IGNoZWNraW5nIGZvciBzdHJ0b2tfciBpbiAtbHB0aHJlYWQNCmNv bmZpZ3VyZToxMzE0OTogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgLWx6IC1sY3J5 cHQgLWxtICA+JjUNCi91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbHB0aHJl YWQNCmNvbmZpZ3VyZToxMzE1MjogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEzMTI0ICJjb25maWd1cmUiDQojaW5j bHVkZSAiY29uZmRlZnMuaCINCg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNpZmRl ZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBzdHJ0b2tf ciAoKTsNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1 c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdf RFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWlu ICgpDQp7DQpzdHJ0b2tfciAoKTsNCiAgOw0KICByZXR1cm4gMDsNCn0NCmNv bmZpZ3VyZToxMzE2OTogcmVzdWx0OiBubw0KY29uZmlndXJlOjEzMTg1OiBj aGVja2luZyBmb3Igc3RydG9rX3IgaW4gLWxjX3INCmNvbmZpZ3VyZToxMzIx NzogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg ICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6 MTMyMjA6ICQ/ID0gMA0KY29uZmlndXJlOjEzMjIzOiB0ZXN0IC1zIGNvbmZ0 ZXN0DQpjb25maWd1cmU6MTMyMjY6ICQ/ID0gMA0KY29uZmlndXJlOjEzMjM3 OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEzMjU2OiBjaGVja2luZyBmb3Ig c3RydG9rX3INCmNvbmZpZ3VyZToxMzI5OTogY2MgLW8gY29uZnRlc3QgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNy eXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTMzMDI6ICQ/ID0gMA0KY29uZmln dXJlOjEzMzA1OiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTMzMDg6 ICQ/ID0gMA0KY29uZmlndXJlOjEzMzE4OiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjEzMjU2OiBjaGVja2luZyBmb3IgcHRocmVhZF9pbml0DQpjb25maWd1 cmU6MTMyOTk6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zh ci90bXAvL2NjcEo3MzhzLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIv dG1wLy9jY3BKNzM4cy5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYHB0aHJlYWRfaW5pdCcNCmNvbmZpZ3VyZToxMzMwMjogJD8gPSAx DQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEzMjYy ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5c3Rl bSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIHB0aHJlYWRfaW5pdCAoKTsgYmVsb3cuICAqLw0KI2luY2x1ZGUg PGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNpZmRlZiBfX2NwbHVz cGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1c2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My DQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBwdGhyZWFkX2luaXQgKCk7 DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAg aWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYN CiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRp Zg0KaW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQog ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcg d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8N CiNpZiBkZWZpbmVkIChfX3N0dWJfcHRocmVhZF9pbml0KSB8fCBkZWZpbmVk IChfX3N0dWJfX19wdGhyZWFkX2luaXQpDQpjaG9rZSBtZQ0KI2Vsc2UNCmYg PSBwdGhyZWFkX2luaXQ7DQojZW5kaWYNCg0KICA7DQogIHJldHVybiAwOw0K fQ0KY29uZmlndXJlOjEzMzE4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTM0 MTU6IGNoZWNraW5nIGZvciBkbG9wZW4gaW4gLWxkbA0KY29uZmlndXJlOjEz NDQ4OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJv ICAgIGNvbmZ0ZXN0LmMgLWxkbCAgID4mNQ0KL3Vzci9iaW4vbGQ6IGNhbm5v dCBmaW5kIC1sZGwNCmNvbmZpZ3VyZToxMzQ1MTogJD8gPSAxDQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEzNDIzICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KLyogT3ZlcnJpZGUgYW55 IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAg Ki8NCiNpZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQov KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hh ciBkbG9wZW4gKCk7DQojaWZkZWYgRjc3X0RVTU1ZX01BSU4NCiMgIGlmZGVm IF9fY3BsdXNwbHVzDQogICAgIGV4dGVybiAiQyINCiMgIGVuZGlmDQogICBp bnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9DQojZW5kaWYNCmlu dA0KbWFpbiAoKQ0Kew0KZGxvcGVuICgpOw0KICA7DQogIHJldHVybiAwOw0K fQ0KY29uZmlndXJlOjEzNDY4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTM0 ODk6IGNoZWNraW5nIGZvciB1bmlzdGQuaA0KY29uZmlndXJlOjEzNDk0OiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjEzNTk4OiBjaGVja2luZyBmb3IgcmVz dGFydGFibGUgc3lzdGVtIGNhbGxzDQpjb25maWd1cmU6MTM2NTU6IGNjIC1v IGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRl c3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjEzNjU4OiAk PyA9IDANCmNvbmZpZ3VyZToxMzY2MDogLi9jb25mdGVzdA0KY29uZmlndXJl OjEzNjYzOiAkPyA9IDANCmNvbmZpZ3VyZToxMzY3NjogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToxMzc4MDogY2hlY2tpbmcgIm5lZWQgb2Ygc3BlY2lhbCBs aW5raW5nIGZsYWdzIg0KY29uZmlndXJlOjEzNzg4OiByZXN1bHQ6ICJub25l Ig0KY29uZmlndXJlOjEzNzkyOiBjaGVja2luZyBmb3IgY2Mgb3B0aW9uIHRv IGFjY2VwdCBBTlNJIEMNCmNvbmZpZ3VyZToxMzg1NTogY2MgIC1jICAtRERC VUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5j ID4mNQ0KY29uZmlndXJlOjEzODU4OiAkPyA9IDANCmNvbmZpZ3VyZToxMzg2 MTogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MTM4NjQ6ICQ/ID0g MA0KY29uZmlndXJlOjEzODgxOiByZXN1bHQ6IG5vbmUgbmVlZGVkDQpjb25m aWd1cmU6MTM4ODk6IGNoZWNraW5nIGZvciBhbiBBTlNJIEMtY29uZm9ybWlu ZyBjb25zdA0KY29uZmlndXJlOjEzOTU5OiBjYyAtYyAgLUREQlVHX09GRiAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNv bmZpZ3VyZToxMzk2MjogJD8gPSAwDQpjb25maWd1cmU6MTM5NjU6IHRlc3Qg LXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEzOTY4OiAkPyA9IDANCmNvbmZp Z3VyZToxMzk3ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMzk4ODogY2hl Y2tpbmcgZm9yIGlubGluZQ0KY29uZmlndXJlOjE0MDA1OiBjYyAtYyAgLURE QlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3Qu YyA+JjUNCmNvbmZpZ3VyZToxNDAwODogJD8gPSAwDQpjb25maWd1cmU6MTQw MTE6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjE0MDE0OiAkPyA9 IDANCmNvbmZpZ3VyZToxNDAyNTogcmVzdWx0OiBpbmxpbmUNCmNvbmZpZ3Vy ZToxNDA0MDogY2hlY2tpbmcgZm9yIG9mZl90DQpjb25maWd1cmU6MTQwNjc6 IGNjIC1jICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjE0MDcwOiAkPyA9IDANCmNv bmZpZ3VyZToxNDA3MzogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6 MTQwNzY6ICQ/ID0gMA0KY29uZmlndXJlOjE0MDg2OiByZXN1bHQ6IHllcw0K Y29uZmlndXJlOjE0MDk5OiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3Rf cmRldg0KY29uZmlndXJlOjE0MTI1OiBjYyAtYyAgLUREQlVHX09GRiAtTyAt cGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZp Z3VyZToxNDEyODogJD8gPSAwDQpjb25maWd1cmU6MTQxMzE6IHRlc3QgLXMg Y29uZnRlc3Qubw0KY29uZmlndXJlOjE0MTM0OiAkPyA9IDANCmNvbmZpZ3Vy ZToxNDE0NDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNDE2MDogY2hlY2tp bmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUg aW5jbHVkZWQNCmNvbmZpZ3VyZToxNDE4ODogY2MgLWMgIC1EREJVR19PRkYg LU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpj b25maWd1cmU6MTQxOTE6ICQ/ID0gMA0KY29uZmlndXJlOjE0MTk0OiB0ZXN0 IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxNDE5NzogJD8gPSAwDQpjb25m aWd1cmU6MTQyMDc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTQyMTc6IGNo ZWNraW5nIHdoZXRoZXIgc3RydWN0IHRtIGlzIGluIHN5cy90aW1lLmggb3Ig dGltZS5oDQpjb25maWd1cmU6MTQyNDM6IGNjIC1jICAtRERCVUdfT0ZGIC1P IC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29u ZmlndXJlOjE0MjQ2OiAkPyA9IDANCmNvbmZpZ3VyZToxNDI0OTogdGVzdCAt cyBjb25mdGVzdC5vDQpjb25maWd1cmU6MTQyNTI6ICQ/ID0gMA0KY29uZmln dXJlOjE0MjYyOiByZXN1bHQ6IHRpbWUuaA0KY29uZmlndXJlOjE0Mjc0OiBj aGVja2luZyBmb3IgY2hhcg0KY29uZmlndXJlOjE0MzAxOiBjYyAtYyAgLURE QlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3Qu YyA+JjUNCmNvbmZpZ3VyZToxNDMwNDogJD8gPSAwDQpjb25maWd1cmU6MTQz MDc6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjE0MzEwOiAkPyA9 IDANCmNvbmZpZ3VyZToxNDMyMDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTox NDMyMzogY2hlY2tpbmcgc2l6ZSBvZiBjaGFyDQpjb25maWd1cmU6MTQ2MDE6 IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0K Y29uZmlndXJlOjE0NjA0OiAkPyA9IDANCmNvbmZpZ3VyZToxNDYwNjogLi9j b25mdGVzdA0KY29uZmlndXJlOjE0NjA5OiAkPyA9IDANCmNvbmZpZ3VyZTox NDYyOTogcmVzdWx0OiAxDQpjb25maWd1cmU6MTQ2NTQ6IGNoZWNraW5nIGZv ciBpbnQNCmNvbmZpZ3VyZToxNDY4MTogY2MgLWMgIC1EREJVR19PRkYgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25m aWd1cmU6MTQ2ODQ6ICQ/ID0gMA0KY29uZmlndXJlOjE0Njg3OiB0ZXN0IC1z IGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxNDY5MDogJD8gPSAwDQpjb25maWd1 cmU6MTQ3MDA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTQ3MDM6IGNoZWNr aW5nIHNpemUgb2YgaW50DQpjb25maWd1cmU6MTQ5ODE6IGNjIC1vIGNvbmZ0 ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAg Y29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE0 OTg0OiAkPyA9IDANCmNvbmZpZ3VyZToxNDk4NjogLi9jb25mdGVzdA0KY29u ZmlndXJlOjE0OTg5OiAkPyA9IDANCmNvbmZpZ3VyZToxNTAwOTogcmVzdWx0 OiA0DQpjb25maWd1cmU6MTUwMjI6IGNoZWNraW5nIGZvciBsb25nDQpjb25m aWd1cmU6MTUwNDk6IGNjIC1jICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1 PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjE1MDUy OiAkPyA9IDANCmNvbmZpZ3VyZToxNTA1NTogdGVzdCAtcyBjb25mdGVzdC5v DQpjb25maWd1cmU6MTUwNTg6ICQ/ID0gMA0KY29uZmlndXJlOjE1MDY4OiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjE1MDcxOiBjaGVja2luZyBzaXplIG9m IGxvbmcNCmNvbmZpZ3VyZToxNTM0OTogY2MgLW8gY29uZnRlc3QgIC1EREJV R19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5j IC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTUzNTI6ICQ/ID0g MA0KY29uZmlndXJlOjE1MzU0OiAuL2NvbmZ0ZXN0DQpjb25maWd1cmU6MTUz NTc6ICQ/ID0gMA0KY29uZmlndXJlOjE1Mzc3OiByZXN1bHQ6IDQNCmNvbmZp Z3VyZToxNTM5MDogY2hlY2tpbmcgZm9yIGxvbmcgbG9uZw0KY29uZmlndXJl OjE1NDE3OiBjYyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50 aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxNTQyMDogJD8g PSAwDQpjb25maWd1cmU6MTU0MjM6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29u ZmlndXJlOjE1NDI2OiAkPyA9IDANCmNvbmZpZ3VyZToxNTQzNjogcmVzdWx0 OiB5ZXMNCmNvbmZpZ3VyZToxNTQzOTogY2hlY2tpbmcgc2l6ZSBvZiBsb25n IGxvbmcNCmNvbmZpZ3VyZToxNTcxNzogY2MgLW8gY29uZnRlc3QgIC1EREJV R19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5j IC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTU3MjA6ICQ/ID0g MA0KY29uZmlndXJlOjE1NzIyOiAuL2NvbmZ0ZXN0DQpjb25maWd1cmU6MTU3 MjU6ICQ/ID0gMA0KY29uZmlndXJlOjE1NzQ1OiByZXN1bHQ6IDgNCmNvbmZp Z3VyZToxNTc1OTogY2hlY2tpbmcgc2l6ZSBvZiBvZmZfdA0KY29uZmlndXJl OjE1Nzg1OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAt bWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxt ICA+JjUNCmNvbmZpZ3VyZToxNTc4ODogJD8gPSAwDQpjb25maWd1cmU6MTU3 OTA6IC4vY29uZnRlc3QNCmNvbmZpZ3VyZToxNTc5MzogJD8gPSAwDQpjb25m aWd1cmU6MTU4MDY6IHJlc3VsdDogOA0KY29uZmlndXJlOjE1ODIwOiBjaGVj a2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuDQpjb25m aWd1cmU6MTU4NTA6IGNjIC1jICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1 PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjE1ODUz OiAkPyA9IDANCmNvbmZpZ3VyZToxNTg1NjogdGVzdCAtcyBjb25mdGVzdC5v DQpjb25maWd1cmU6MTU4NTk6ICQ/ID0gMA0KY29uZmlndXJlOjE1ODg2OiBj YyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAg Y29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4n Og0KY29uZmlndXJlOjE1ODc3OiBlcnJvcjogc3ludGF4IGVycm9yIGJlZm9y ZSAiYmlnIg0KY29uZmlndXJlOjE1ODg5OiAkPyA9IDENCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTU4NjMgImNvbmZpZ3VyZSIN CiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHN5cy90eXBlcy5o Pg0KI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0KDQojaWZkZWYgRjc3X0RVTU1Z X01BSU4NCiMgIGlmZGVmIF9fY3BsdXNwbHVzDQogICAgIGV4dGVybiAiQyIN CiMgIGVuZGlmDQogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAx OyB9DQojZW5kaWYNCmludA0KbWFpbiAoKQ0Kew0KI2lmIEJZVEVfT1JERVIg IT0gQklHX0VORElBTg0KIG5vdCBiaWcgZW5kaWFuDQojZW5kaWYNCg0KICA7 DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE2MDAzOiByZXN1bHQ6IG5v DQpjb25maWd1cmU6MTYwMjY6IGNoZWNraW5nIGJhc2UgdHlwZSBvZiBsYXN0 IGFyZyB0byBhY2NlcHQNCmNvbmZpZ3VyZToxNjA2NTogYysrIC1jICAtRERC VUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLWZlbGlkZS1jb25z dHJ1Y3RvcnMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyAgLWZuby1pbXBs aWNpdC10ZW1wbGF0ZXMgLWZuby1leGNlcHRpb25zIC1mbm8tcnR0aSAtRE1Z U1FMRF9ORVRfUkVUUllfQ09VTlQ9MTAwMDAwMCAgY29uZnRlc3QuY2MgPiY1 DQpjb25maWd1cmU6MTYwNjg6ICQ/ID0gMA0KY29uZmlndXJlOjE2MDcxOiB0 ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxNjA3NDogJD8gPSAwDQpj b25maWd1cmU6MTYxMzA6IHJlc3VsdDogc29ja2xlbl90DQpjb25maWd1cmU6 MTYxNDc6IGNoZWNraW5nIHN0YWNrIGRpcmVjdGlvbiBmb3IgQyBhbGxvY2EN CmNvbmZpZ3VyZToxNjE3NzogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYg LU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAt bGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTYxODA6ICQ/ID0gMA0KY29u ZmlndXJlOjE2MTgyOiAuL2NvbmZ0ZXN0DQpjb25maWd1cmU6MTYxODU6ICQ/ ID0gMQ0KY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAx DQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE2MTU2 ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRl IDxzdGRsaWIuaD4NCiBpbnQgZmluZF9zdGFja19kaXJlY3Rpb24gKCkNCiB7 DQogICBzdGF0aWMgY2hhciAqYWRkciA9IDA7DQogICBhdXRvIGNoYXIgZHVt bXk7DQogICBpZiAoYWRkciA9PSAwKQ0KICAgICB7DQogICAgICAgYWRkciA9 ICZkdW1teTsNCiAgICAgICByZXR1cm4gZmluZF9zdGFja19kaXJlY3Rpb24g KCk7DQogICAgIH0NCiAgIGVsc2UNCiAgICAgcmV0dXJuICgmZHVtbXkgPiBh ZGRyKSA/IDEgOiAtMTsNCiB9DQogaW50IG1haW4gKCkNCiB7DQogICBleGl0 IChmaW5kX3N0YWNrX2RpcmVjdGlvbigpIDwgMCk7DQogfQ0KY29uZmlndXJl OjE2MTk4OiByZXN1bHQ6IC0xDQpjb25maWd1cmU6MTYyMTM6IGNoZWNraW5n IGZvciB3b3JraW5nIGFsbG9jYS5oDQpjb25maWd1cmU6MTYyNTY6IHJlc3Vs dDogbm8NCmNvbmZpZ3VyZToxNjI2NjogY2hlY2tpbmcgZm9yIGFsbG9jYQ0K Y29uZmlndXJlOjE2MzA2OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1s Y3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxNjMwOTogJD8gPSAwDQpjb25m aWd1cmU6MTYzMTI6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxNjMx NTogJD8gPSAwDQpjb25maWd1cmU6MTYzMjU6IHJlc3VsdDogeWVzDQpjb25m aWd1cmU6MTY0NTU6IGNoZWNraW5nIGlmIHN0cnVjdCB0aW1lc3BlYyBoYXMg YSB0c19zZWMgbWVtYmVyDQpjb25maWd1cmU6MTY0ODc6IGNjIC1jICAtRERC VUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5j ID4mNQ0KY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQpjb25maWd1 cmU6MTY0Nzg6IGVycm9yOiBzdHJ1Y3R1cmUgaGFzIG5vIG1lbWJlciBuYW1l ZCBgdHNfc2VjJw0KY29uZmlndXJlOjE2NDc5OiBlcnJvcjogc3RydWN0dXJl IGhhcyBubyBtZW1iZXIgbmFtZWQgYHRzX25zZWMnDQpjb25maWd1cmU6MTY0 OTA6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQoj bGluZSAxNjQ2MSAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgi DQojaW5jbHVkZSA8cHRocmVhZC5oPg0KI2lmZGVmIF9fY3BsdXNwbHVzDQpl eHRlcm4gIkMiDQojZW5kaWYNCg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQoj ICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRp Zg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2Vu ZGlmDQppbnQNCm1haW4gKCkNCnsNCnN0cnVjdCB0aW1lc3BlYyBhYnN0aW1l Ow0KDQphYnN0aW1lLnRzX3NlYyA9IHRpbWUoTlVMTCkrMTsNCmFic3RpbWUu dHNfbnNlYyA9IDA7DQoNCiAgOw0KICByZXR1cm4gMDsNCn0NCmNvbmZpZ3Vy ZToxNjUwNjogcmVzdWx0OiBubw0KY29uZmlndXJlOjE2NTE3OiBjaGVja2lu ZyBpZiB3ZSBoYXZlIHR6bmFtZSB2YXJpYWJsZQ0KY29uZmlndXJlOjE2NTQ3 OiBjYyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJv ICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxNjU1MDogJD8gPSAwDQpj b25maWd1cmU6MTY1NTM6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJl OjE2NTU2OiAkPyA9IDANCmNvbmZpZ3VyZToxNjU2NjogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToxNjU3NzogY2hlY2tpbmcgZm9yIHR5cGUgdWxvbmcNCmNv bmZpZ3VyZToxNjU5ODogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNy eXB0IC1sbSAgPiY1DQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoN CmNvbmZpZ3VyZToxNjU5MTogZXJyb3I6IHN5bnRheCBlcnJvciBiZWZvcmUg ImZvbyINCmNvbmZpZ3VyZToxNjU5MjogZXJyb3I6IGBmb28nIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZmlndXJlOjE2 NTkyOiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZQ0KY29uZmlndXJlOjE2NTkyOiBlcnJvcjogZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pDQpjb25maWd1cmU6MTY2 MDE6ICQ/ID0gMQ0KY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0 YXR1cyAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5l IDE2NTg2ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNp bmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KbWFp bigpDQp7DQogIHVsb25nIGZvbzsNCiAgZm9vKys7DQogIGV4aXQoMCk7DQp9 DQpjb25maWd1cmU6MTY2MjA6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxNjYz MTogY2hlY2tpbmcgZm9yIHR5cGUgdWNoYXINCmNvbmZpZ3VyZToxNjY1Mjog Y2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpj b25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZpZ3VyZToxNjY0 NTogZXJyb3I6IHN5bnRheCBlcnJvciBiZWZvcmUgImZvbyINCmNvbmZpZ3Vy ZToxNjY0NjogZXJyb3I6IGBmb28nIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQ0KY29uZmlndXJlOjE2NjQ2OiBlcnJvcjogKEVh Y2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25j ZQ0KY29uZmlndXJlOjE2NjQ2OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24g aXQgYXBwZWFycyBpbi4pDQpjb25maWd1cmU6MTY2NTU6ICQ/ID0gMQ0KY29u ZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxDQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE2NjQwICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzdGRpby5o Pg0KI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KbWFpbigpDQp7DQogIHVjaGFy IGZvbzsNCiAgZm9vKys7DQogIGV4aXQoMCk7DQp9DQpjb25maWd1cmU6MTY2 NzQ6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxNjY4NTogY2hlY2tpbmcgZm9y IHR5cGUgdWludA0KY29uZmlndXJlOjE2NzA2OiBjYyAtbyBjb25mdGVzdCAg LUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0 ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxNjcwOTog JD8gPSAwDQpjb25maWd1cmU6MTY3MTE6IC4vY29uZnRlc3QNCmNvbmZpZ3Vy ZToxNjcxNDogJD8gPSAwDQpjb25maWd1cmU6MTY3Mjg6IHJlc3VsdDogeWVz DQpjb25maWd1cmU6MTY3Mzk6IGNoZWNraW5nIGZvciB0eXBlIGZwX2V4Y2Vw dA0KY29uZmlndXJlOjE2NzYxOiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09G RiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6 IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1h aW4nOg0KY29uZmlndXJlOjE2NzU0OiBlcnJvcjogc3ludGF4IGVycm9yIGJl Zm9yZSAiZm9vIg0KY29uZmlndXJlOjE2NzU1OiBlcnJvcjogYGZvbycgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25maWd1 cmU6MTY3NTU6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlDQpjb25maWd1cmU6MTY3NTU6IGVycm9y OiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluLikNCmNvbmZpZ3Vy ZToxNjc2NDogJD8gPSAxDQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdp dGggc3RhdHVzIDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0K I2xpbmUgMTY3NDggImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5o Ig0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+ DQojaW5jbHVkZSA8aWVlZWZwLmg+DQptYWluKCkNCnsNCiAgZnBfZXhjZXB0 IGZvbzsNCiAgZm9vKys7DQogIGV4aXQoMCk7DQp9DQpjb25maWd1cmU6MTY3 ODM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxNjc5NjogY2hlY2tpbmcgaWYg YysrIHN1cHBvcnRzIGJvb2wgdHlwZXMNCmNvbmZpZ3VyZToxNjgyOTogYysr IC1jICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLWZl bGlkZS1jb25zdHJ1Y3RvcnMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyAg LWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMgLWZuby1leGNlcHRpb25zIC1mbm8t cnR0aSAtRE1ZU1FMRF9ORVRfUkVUUllfQ09VTlQ9MTAwMDAwMCAgY29uZnRl c3QuY2MgPiY1DQpjb25maWd1cmU6MTY4MzI6ICQ/ID0gMA0KY29uZmlndXJl OjE2ODM1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxNjgzODog JD8gPSAwDQpjb25maWd1cmU6MTY4NTY6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTY4Njc6IGNoZWNraW5nIGlmIGNvbnZlcnNpb24gb2YgbG9uZ2xvbmcg dG8gZmxvYXQgd29ya3MNCmNvbmZpZ3VyZToxNjg5NDogY2MgLW8gY29uZnRl c3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBj b25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTY4 OTc6ICQ/ID0gMA0KY29uZmlndXJlOjE2ODk5OiAuL2NvbmZ0ZXN0DQpjb25m aWd1cmU6MTY5MDI6ICQ/ID0gMA0KY29uZmlndXJlOjE2OTIxOiByZXN1bHQ6 IHllcw0KY29uZmlndXJlOjE2OTM0OiBjaGVja2luZyBpZiBwdGhyZWFkX3lp ZWxkIHRha2VzIHplcm8gYXJndW1lbnRzDQpjb25maWd1cmU6MTY5NjU6IGNj IC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zh ci90bXAvL2NjdWppdVlZLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIv dG1wLy9jY3VqaXVZWS5vKC50ZXh0KzB4YSk6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYHB0aHJlYWRfeWllbGQnDQpjb25maWd1cmU6MTY5Njg6ICQ/ID0g MQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxNjk0 MCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojZGVmaW5l IF9HTlVfU09VUkNFDQojaW5jbHVkZSA8cHRocmVhZC5oPg0KI2lmZGVmIF9f Y3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCg0KI2lmZGVmIEY3N19E VU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4g IkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1 cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCg0KICBwdGhyZWFk X3lpZWxkKCk7DQoNCiAgOw0KICByZXR1cm4gMDsNCn0NCmNvbmZpZ3VyZTox Njk4NDogcmVzdWx0OiB5ZXNvDQpjb25maWd1cmU6MTY5OTQ6IGNoZWNraW5n IGlmIHB0aHJlYWRfeWllbGQgdGFrZXMgMSBhcmd1bWVudA0KY29uZmlndXJl OjE3MDI1OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAt bWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxt ICA+JjUNCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZmln dXJlOjE3MDE3OiBlcnJvcjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIGZ1bmN0 aW9uIGBwdGhyZWFkX3lpZWxkJw0KY29uZmlndXJlOjE3MDI4OiAkPyA9IDEN CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTcwMDAg ImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2RlZmluZSBf R05VX1NPVVJDRQ0KI2luY2x1ZGUgPHB0aHJlYWQuaD4NCiNpZmRlZiBfX2Nw bHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQoNCiNpZmRlZiBGNzdfRFVN TVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJD Ig0KIyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJu IDE7IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQoNCiAgcHRocmVhZF95 aWVsZCgwKTsNCg0KICA7DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE3 MDQ0OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTcxMDA6IGNoZWNraW5nIHZh cmFyZ3MuaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToxNzEwOTogY2MgLWMgIC1E REJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0 LmMgPiY1DQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjE3MTM4 Og0KL3Vzci9pbmNsdWRlL3ZhcmFyZ3MuaDozNDoyOiAjZXJyb3IgIjx2YXJh cmdzLmg+IGlzIG9ic29sZXRlIHdpdGggdGhpcyB2ZXJzaW9uIG9mIEdDQy4i DQovdXNyL2luY2x1ZGUvdmFyYXJncy5oOjM1OjI6ICNlcnJvciAiQ2hhbmdl IHlvdXIgY29kZSB0byB1c2UgPHN0ZGFyZy5oPiBpbnN0ZWFkLiINCmNvbmZp Z3VyZToxNzExMjogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoNCiNsaW5lIDE3MTAzICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29u ZmRlZnMuaCINCiNpbmNsdWRlIDxzdGRpby5oPg0KI2lmIEhBVkVfU1lTX1RZ UEVTX0gNCiMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojZW5kaWYNCiNpZiBI QVZFX1NZU19TVEFUX0gNCiMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCiNlbmRp Zg0KI2lmIFNURENfSEVBREVSUw0KIyBpbmNsdWRlIDxzdGRsaWIuaD4NCiMg aW5jbHVkZSA8c3RkZGVmLmg+DQojZWxzZQ0KIyBpZiBIQVZFX1NURExJQl9I DQojICBpbmNsdWRlIDxzdGRsaWIuaD4NCiMgZW5kaWYNCiNlbmRpZg0KI2lm IEhBVkVfU1RSSU5HX0gNCiMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01F TU9SWV9IDQojICBpbmNsdWRlIDxtZW1vcnkuaD4NCiMgZW5kaWYNCiMgaW5j bHVkZSA8c3RyaW5nLmg+DQojZW5kaWYNCiNpZiBIQVZFX1NUUklOR1NfSA0K IyBpbmNsdWRlIDxzdHJpbmdzLmg+DQojZW5kaWYNCiNpZiBIQVZFX0lOVFRZ UEVTX0gNCiMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCiNlbHNlDQojIGlmIEhB VkVfU1RESU5UX0gNCiMgIGluY2x1ZGUgPHN0ZGludC5oPg0KIyBlbmRpZg0K I2VuZGlmDQojaWYgSEFWRV9VTklTVERfSA0KIyBpbmNsdWRlIDx1bmlzdGQu aD4NCiNlbmRpZg0KI2luY2x1ZGUgPHZhcmFyZ3MuaD4NCmNvbmZpZ3VyZTox NzEyNzogcmVzdWx0OiBubw0KY29uZmlndXJlOjE3MTMxOiBjaGVja2luZyB2 YXJhcmdzLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToxNzEzODogY2MgLUUgIGNv bmZ0ZXN0LmMNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MTcx MzU6DQovdXNyL2luY2x1ZGUvdmFyYXJncy5oOjM0OjI6ICNlcnJvciAiPHZh cmFyZ3MuaD4gaXMgb2Jzb2xldGUgd2l0aCB0aGlzIHZlcnNpb24gb2YgR0ND LiINCi91c3IvaW5jbHVkZS92YXJhcmdzLmg6MzU6MjogI2Vycm9yICJDaGFu Z2UgeW91ciBjb2RlIHRvIHVzZSA8c3RkYXJnLmg+IGluc3RlYWQuIg0KY29u ZmlndXJlOjE3MTQ0OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOg0KI2xpbmUgMTcxMzQgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJj b25mZGVmcy5oIg0KI2luY2x1ZGUgPHZhcmFyZ3MuaD4NCmNvbmZpZ3VyZTox NzE2MjogcmVzdWx0OiBubw0KY29uZmlndXJlOjE3MTgwOiBjaGVja2luZyBm b3IgdmFyYXJncy5oDQpjb25maWd1cmU6MTcxODc6IHJlc3VsdDogbm8NCmNv bmZpZ3VyZToxNzEwMDogY2hlY2tpbmcgc3RkYXJnLmggdXNhYmlsaXR5DQpj b25maWd1cmU6MTcxMDk6IGNjIC1jICAtRERCVUdfT0ZGIC1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjE3 MTEyOiAkPyA9IDANCmNvbmZpZ3VyZToxNzExNTogdGVzdCAtcyBjb25mdGVz dC5vDQpjb25maWd1cmU6MTcxMTg6ICQ/ID0gMA0KY29uZmlndXJlOjE3MTI3 OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTMxOiBjaGVja2luZyBzdGRh cmcuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjE3MTM4OiBjYyAtRSAgY29uZnRl c3QuYw0KY29uZmlndXJlOjE3MTQ0OiAkPyA9IDANCmNvbmZpZ3VyZToxNzE2 MjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNzE4MDogY2hlY2tpbmcgZm9y IHN0ZGFyZy5oDQpjb25maWd1cmU6MTcxODc6IHJlc3VsdDogeWVzDQpjb25m aWd1cmU6MTcxMDA6IGNoZWNraW5nIGRpcmVudC5oIHVzYWJpbGl0eQ0KY29u ZmlndXJlOjE3MTA5OiBjYyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNw dT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxNzEx MjogJD8gPSAwDQpjb25maWd1cmU6MTcxMTU6IHRlc3QgLXMgY29uZnRlc3Qu bw0KY29uZmlndXJlOjE3MTE4OiAkPyA9IDANCmNvbmZpZ3VyZToxNzEyNzog cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNzEzMTogY2hlY2tpbmcgZGlyZW50 LmggcHJlc2VuY2UNCmNvbmZpZ3VyZToxNzEzODogY2MgLUUgIGNvbmZ0ZXN0 LmMNCmNvbmZpZ3VyZToxNzE0NDogJD8gPSAwDQpjb25maWd1cmU6MTcxNjI6 IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTcxODA6IGNoZWNraW5nIGZvciBk aXJlbnQuaA0KY29uZmlndXJlOjE3MTg3OiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjE3MTAwOiBjaGVja2luZyBsb2NhbGUuaCB1c2FiaWxpdHkNCmNvbmZp Z3VyZToxNzEwOTogY2MgLWMgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTcxMTI6 ICQ/ID0gMA0KY29uZmlndXJlOjE3MTE1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8N CmNvbmZpZ3VyZToxNzExODogJD8gPSAwDQpjb25maWd1cmU6MTcxMjc6IHJl c3VsdDogeWVzDQpjb25maWd1cmU6MTcxMzE6IGNoZWNraW5nIGxvY2FsZS5o IHByZXNlbmNlDQpjb25maWd1cmU6MTcxMzg6IGNjIC1FICBjb25mdGVzdC5j DQpjb25maWd1cmU6MTcxNDQ6ICQ/ID0gMA0KY29uZmlndXJlOjE3MTYyOiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTgwOiBjaGVja2luZyBmb3IgbG9j YWxlLmgNCmNvbmZpZ3VyZToxNzE4NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy ZToxNzEwMDogY2hlY2tpbmcgbmRpci5oIHVzYWJpbGl0eQ0KY29uZmlndXJl OjE3MTA5OiBjYyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50 aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxNzEzODoxODog bmRpci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6 MTcxMTI6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQojbGluZSAxNzEwMyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZz LmgiDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpZiBIQVZFX1NZU19UWVBFU19I DQojIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2VuZGlmDQojaWYgSEFWRV9T WVNfU1RBVF9IDQojIGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQojZW5kaWYNCiNp ZiBTVERDX0hFQURFUlMNCiMgaW5jbHVkZSA8c3RkbGliLmg+DQojIGluY2x1 ZGUgPHN0ZGRlZi5oPg0KI2Vsc2UNCiMgaWYgSEFWRV9TVERMSUJfSA0KIyAg aW5jbHVkZSA8c3RkbGliLmg+DQojIGVuZGlmDQojZW5kaWYNCiNpZiBIQVZF X1NUUklOR19IDQojIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllf SA0KIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQojIGVuZGlmDQojIGluY2x1ZGUg PHN0cmluZy5oPg0KI2VuZGlmDQojaWYgSEFWRV9TVFJJTkdTX0gNCiMgaW5j bHVkZSA8c3RyaW5ncy5oPg0KI2VuZGlmDQojaWYgSEFWRV9JTlRUWVBFU19I DQojIGluY2x1ZGUgPGludHR5cGVzLmg+DQojZWxzZQ0KIyBpZiBIQVZFX1NU RElOVF9IDQojICBpbmNsdWRlIDxzdGRpbnQuaD4NCiMgZW5kaWYNCiNlbmRp Zg0KI2lmIEhBVkVfVU5JU1REX0gNCiMgaW5jbHVkZSA8dW5pc3RkLmg+DQoj ZW5kaWYNCiNpbmNsdWRlIDxuZGlyLmg+DQpjb25maWd1cmU6MTcxMjc6IHJl c3VsdDogbm8NCmNvbmZpZ3VyZToxNzEzMTogY2hlY2tpbmcgbmRpci5oIHBy ZXNlbmNlDQpjb25maWd1cmU6MTcxMzg6IGNjIC1FICBjb25mdGVzdC5jDQpj b25maWd1cmU6MTcxMzU6MTg6IG5kaXIuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQ0KY29uZmlndXJlOjE3MTQ0OiAkPyA9IDENCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTcxMzQgImNvbmZpZ3VyZSIN CiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPG5kaXIuaD4NCmNv bmZpZ3VyZToxNzE2MjogcmVzdWx0OiBubw0KY29uZmlndXJlOjE3MTgwOiBj aGVja2luZyBmb3IgbmRpci5oDQpjb25maWd1cmU6MTcxODc6IHJlc3VsdDog bm8NCmNvbmZpZ3VyZToxNzEwMDogY2hlY2tpbmcgc3lzL2Rpci5oIHVzYWJp bGl0eQ0KY29uZmlndXJlOjE3MTA5OiBjYyAtYyAgLUREQlVHX09GRiAtTyAt cGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCkluIGZp bGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MTcxMzg6DQovdXNyL2luY2x1 ZGUvc3lzL2Rpci5oOjQxOjI6IHdhcm5pbmc6ICN3YXJuaW5nICJUaGUgaW5m b3JtYXRpb24gaW4gdGhpcyBmaWxlIHNob3VsZCBiZSBvYnRhaW5lZCBmcm9t IDxkaXJlbnQuaD4iDQovdXNyL2luY2x1ZGUvc3lzL2Rpci5oOjQyOjI6IHdh cm5pbmc6ICN3YXJuaW5nICJhbmQgaXMgcHJvdmlkZWQgc29sZWx5IChhbmQg dGVtcG9yYXJpbHkpIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LiINCmNv bmZpZ3VyZToxNzExMjogJD8gPSAwDQpjb25maWd1cmU6MTcxMTU6IHRlc3Qg LXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjE3MTE4OiAkPyA9IDANCmNvbmZp Z3VyZToxNzEyNzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNzEzMTogY2hl Y2tpbmcgc3lzL2Rpci5oIHByZXNlbmNlDQpjb25maWd1cmU6MTcxMzg6IGNj IC1FICBjb25mdGVzdC5jDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZmln dXJlOjE3MTM1Og0KL3Vzci9pbmNsdWRlL3N5cy9kaXIuaDo0MToyOiB3YXJu aW5nOiAjd2FybmluZyAiVGhlIGluZm9ybWF0aW9uIGluIHRoaXMgZmlsZSBz aG91bGQgYmUgb2J0YWluZWQgZnJvbSA8ZGlyZW50Lmg+Ig0KL3Vzci9pbmNs dWRlL3N5cy9kaXIuaDo0MjoyOiB3YXJuaW5nOiAjd2FybmluZyAiYW5kIGlz IHByb3ZpZGVkIHNvbGVseSAoYW5kIHRlbXBvcmFyaWx5KSBmb3IgYmFja3dh cmQgY29tcGF0aWJpbGl0eS4iDQpjb25maWd1cmU6MTcxNDQ6ICQ/ID0gMA0K Y29uZmlndXJlOjE3MTYyOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTgw OiBjaGVja2luZyBmb3Igc3lzL2Rpci5oDQpjb25maWd1cmU6MTcxODc6IHJl c3VsdDogeWVzDQpjb25maWd1cmU6MTcxMDA6IGNoZWNraW5nIHN5cy9maWxl LmggdXNhYmlsaXR5DQpjb25maWd1cmU6MTcxMDk6IGNjIC1jICAtRERCVUdf T0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4m NQ0KY29uZmlndXJlOjE3MTEyOiAkPyA9IDANCmNvbmZpZ3VyZToxNzExNTog dGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MTcxMTg6ICQ/ID0gMA0K Y29uZmlndXJlOjE3MTI3OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTMx OiBjaGVja2luZyBzeXMvZmlsZS5oIHByZXNlbmNlDQpjb25maWd1cmU6MTcx Mzg6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MTcxNDQ6ICQ/ID0g MA0KY29uZmlndXJlOjE3MTYyOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3 MTgwOiBjaGVja2luZyBmb3Igc3lzL2ZpbGUuaA0KY29uZmlndXJlOjE3MTg3 OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTAwOiBjaGVja2luZyBzeXMv bmRpci5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjE3MTA5OiBjYyAtYyAgLURE QlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRlc3Qu YyA+JjUNCmNvbmZpZ3VyZToxNzEzODoyMjogc3lzL25kaXIuaDogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOjE3MTEyOiAkPyA9IDEN CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTcxMDMg ImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUg PHN0ZGlvLmg+DQojaWYgSEFWRV9TWVNfVFlQRVNfSA0KIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4NCiNlbmRpZg0KI2lmIEhBVkVfU1lTX1NUQVRfSA0KIyBp bmNsdWRlIDxzeXMvc3RhdC5oPg0KI2VuZGlmDQojaWYgU1REQ19IRUFERVJT DQojIGluY2x1ZGUgPHN0ZGxpYi5oPg0KIyBpbmNsdWRlIDxzdGRkZWYuaD4N CiNlbHNlDQojIGlmIEhBVkVfU1RETElCX0gNCiMgIGluY2x1ZGUgPHN0ZGxp Yi5oPg0KIyBlbmRpZg0KI2VuZGlmDQojaWYgSEFWRV9TVFJJTkdfSA0KIyBp ZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCiMgIGluY2x1ZGUg PG1lbW9yeS5oPg0KIyBlbmRpZg0KIyBpbmNsdWRlIDxzdHJpbmcuaD4NCiNl bmRpZg0KI2lmIEhBVkVfU1RSSU5HU19IDQojIGluY2x1ZGUgPHN0cmluZ3Mu aD4NCiNlbmRpZg0KI2lmIEhBVkVfSU5UVFlQRVNfSA0KIyBpbmNsdWRlIDxp bnR0eXBlcy5oPg0KI2Vsc2UNCiMgaWYgSEFWRV9TVERJTlRfSA0KIyAgaW5j bHVkZSA8c3RkaW50Lmg+DQojIGVuZGlmDQojZW5kaWYNCiNpZiBIQVZFX1VO SVNURF9IDQojIGluY2x1ZGUgPHVuaXN0ZC5oPg0KI2VuZGlmDQojaW5jbHVk ZSA8c3lzL25kaXIuaD4NCmNvbmZpZ3VyZToxNzEyNzogcmVzdWx0OiBubw0K Y29uZmlndXJlOjE3MTMxOiBjaGVja2luZyBzeXMvbmRpci5oIHByZXNlbmNl DQpjb25maWd1cmU6MTcxMzg6IGNjIC1FICBjb25mdGVzdC5jDQpjb25maWd1 cmU6MTcxMzU6MjI6IHN5cy9uZGlyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkNCmNvbmZpZ3VyZToxNzE0NDogJD8gPSAxDQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE3MTM0ICJjb25maWd1cmUiDQoj aW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzeXMvbmRpci5oPg0K Y29uZmlndXJlOjE3MTYyOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTcxODA6 IGNoZWNraW5nIGZvciBzeXMvbmRpci5oDQpjb25maWd1cmU6MTcxODc6IHJl c3VsdDogbm8NCmNvbmZpZ3VyZToxNzEwMDogY2hlY2tpbmcgc3lzL3B0ZW0u aCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToxNzEwOTogY2MgLWMgIC1EREJVR19P RkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1 DQpjb25maWd1cmU6MTcxMzg6MjI6IHN5cy9wdGVtLmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxNzExMjogJD8gPSAxDQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE3MTAzICJjb25m aWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzdGRp by5oPg0KI2lmIEhBVkVfU1lTX1RZUEVTX0gNCiMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+DQojZW5kaWYNCiNpZiBIQVZFX1NZU19TVEFUX0gNCiMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4NCiNlbmRpZg0KI2lmIFNURENfSEVBREVSUw0KIyBp bmNsdWRlIDxzdGRsaWIuaD4NCiMgaW5jbHVkZSA8c3RkZGVmLmg+DQojZWxz ZQ0KIyBpZiBIQVZFX1NURExJQl9IDQojICBpbmNsdWRlIDxzdGRsaWIuaD4N CiMgZW5kaWYNCiNlbmRpZg0KI2lmIEhBVkVfU1RSSU5HX0gNCiMgaWYgIVNU RENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQojICBpbmNsdWRlIDxtZW1v cnkuaD4NCiMgZW5kaWYNCiMgaW5jbHVkZSA8c3RyaW5nLmg+DQojZW5kaWYN CiNpZiBIQVZFX1NUUklOR1NfSA0KIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQoj ZW5kaWYNCiNpZiBIQVZFX0lOVFRZUEVTX0gNCiMgaW5jbHVkZSA8aW50dHlw ZXMuaD4NCiNlbHNlDQojIGlmIEhBVkVfU1RESU5UX0gNCiMgIGluY2x1ZGUg PHN0ZGludC5oPg0KIyBlbmRpZg0KI2VuZGlmDQojaWYgSEFWRV9VTklTVERf SA0KIyBpbmNsdWRlIDx1bmlzdGQuaD4NCiNlbmRpZg0KI2luY2x1ZGUgPHN5 cy9wdGVtLmg+DQpjb25maWd1cmU6MTcxMjc6IHJlc3VsdDogbm8NCmNvbmZp Z3VyZToxNzEzMTogY2hlY2tpbmcgc3lzL3B0ZW0uaCBwcmVzZW5jZQ0KY29u ZmlndXJlOjE3MTM4OiBjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjE3 MTM1OjIyOiBzeXMvcHRlbS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 DQpjb25maWd1cmU6MTcxNDQ6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6DQojbGluZSAxNzEzNCAiY29uZmlndXJlIg0KI2luY2x1 ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lzL3B0ZW0uaD4NCmNvbmZp Z3VyZToxNzE2MjogcmVzdWx0OiBubw0KY29uZmlndXJlOjE3MTgwOiBjaGVj a2luZyBmb3Igc3lzL3B0ZW0uaA0KY29uZmlndXJlOjE3MTg3OiByZXN1bHQ6 IG5vDQpjb25maWd1cmU6MTcxMDA6IGNoZWNraW5nIHN5cy9wdGUuaCB1c2Fi aWxpdHkNCmNvbmZpZ3VyZToxNzEwOTogY2MgLWMgIC1EREJVR19PRkYgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25m aWd1cmU6MTcxMzg6MjE6IHN5cy9wdGUuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQ0KY29uZmlndXJlOjE3MTEyOiAkPyA9IDENCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTcxMDMgImNvbmZpZ3VyZSIN CiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQoj aWYgSEFWRV9TWVNfVFlQRVNfSA0KIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4N CiNlbmRpZg0KI2lmIEhBVkVfU1lTX1NUQVRfSA0KIyBpbmNsdWRlIDxzeXMv c3RhdC5oPg0KI2VuZGlmDQojaWYgU1REQ19IRUFERVJTDQojIGluY2x1ZGUg PHN0ZGxpYi5oPg0KIyBpbmNsdWRlIDxzdGRkZWYuaD4NCiNlbHNlDQojIGlm IEhBVkVfU1RETElCX0gNCiMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KIyBlbmRp Zg0KI2VuZGlmDQojaWYgSEFWRV9TVFJJTkdfSA0KIyBpZiAhU1REQ19IRUFE RVJTICYmIEhBVkVfTUVNT1JZX0gNCiMgIGluY2x1ZGUgPG1lbW9yeS5oPg0K IyBlbmRpZg0KIyBpbmNsdWRlIDxzdHJpbmcuaD4NCiNlbmRpZg0KI2lmIEhB VkVfU1RSSU5HU19IDQojIGluY2x1ZGUgPHN0cmluZ3MuaD4NCiNlbmRpZg0K I2lmIEhBVkVfSU5UVFlQRVNfSA0KIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0K I2Vsc2UNCiMgaWYgSEFWRV9TVERJTlRfSA0KIyAgaW5jbHVkZSA8c3RkaW50 Lmg+DQojIGVuZGlmDQojZW5kaWYNCiNpZiBIQVZFX1VOSVNURF9IDQojIGlu Y2x1ZGUgPHVuaXN0ZC5oPg0KI2VuZGlmDQojaW5jbHVkZSA8c3lzL3B0ZS5o Pg0KY29uZmlndXJlOjE3MTI3OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTcx MzE6IGNoZWNraW5nIHN5cy9wdGUuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjE3 MTM4OiBjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjE3MTM1OjIxOiBz eXMvcHRlLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3Vy ZToxNzE0NDogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoNCiNsaW5lIDE3MTM0ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRl ZnMuaCINCiNpbmNsdWRlIDxzeXMvcHRlLmg+DQpjb25maWd1cmU6MTcxNjI6 IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxNzE4MDogY2hlY2tpbmcgZm9yIHN5 cy9wdGUuaA0KY29uZmlndXJlOjE3MTg3OiByZXN1bHQ6IG5vDQpjb25maWd1 cmU6MTcxMDA6IGNoZWNraW5nIHN5cy9zZWxlY3QuaCB1c2FiaWxpdHkNCmNv bmZpZ3VyZToxNzEwOTogY2MgLWMgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTcx MTI6ICQ/ID0gMA0KY29uZmlndXJlOjE3MTE1OiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8NCmNvbmZpZ3VyZToxNzExODogJD8gPSAwDQpjb25maWd1cmU6MTcxMjc6 IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTcxMzE6IGNoZWNraW5nIHN5cy9z ZWxlY3QuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjE3MTM4OiBjYyAtRSAgY29u ZnRlc3QuYw0KY29uZmlndXJlOjE3MTQ0OiAkPyA9IDANCmNvbmZpZ3VyZTox NzE2MjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNzE4MDogY2hlY2tpbmcg Zm9yIHN5cy9zZWxlY3QuaA0KY29uZmlndXJlOjE3MTg3OiByZXN1bHQ6IHll cw0KY29uZmlndXJlOjE3MTAwOiBjaGVja2luZyBzeXMvc3RyZWFtLmggdXNh YmlsaXR5DQpjb25maWd1cmU6MTcxMDk6IGNjIC1jICAtRERCVUdfT0ZGIC1P IC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4mNQ0KY29u ZmlndXJlOjE3MTM4OjI0OiBzeXMvc3RyZWFtLmg6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxNzExMjogJD8gPSAxDQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE3MTAzICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzdGRpby5o Pg0KI2lmIEhBVkVfU1lTX1RZUEVTX0gNCiMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+DQojZW5kaWYNCiNpZiBIQVZFX1NZU19TVEFUX0gNCiMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4NCiNlbmRpZg0KI2lmIFNURENfSEVBREVSUw0KIyBpbmNs dWRlIDxzdGRsaWIuaD4NCiMgaW5jbHVkZSA8c3RkZGVmLmg+DQojZWxzZQ0K IyBpZiBIQVZFX1NURExJQl9IDQojICBpbmNsdWRlIDxzdGRsaWIuaD4NCiMg ZW5kaWYNCiNlbmRpZg0KI2lmIEhBVkVfU1RSSU5HX0gNCiMgaWYgIVNURENf SEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQojICBpbmNsdWRlIDxtZW1vcnku aD4NCiMgZW5kaWYNCiMgaW5jbHVkZSA8c3RyaW5nLmg+DQojZW5kaWYNCiNp ZiBIQVZFX1NUUklOR1NfSA0KIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQojZW5k aWYNCiNpZiBIQVZFX0lOVFRZUEVTX0gNCiMgaW5jbHVkZSA8aW50dHlwZXMu aD4NCiNlbHNlDQojIGlmIEhBVkVfU1RESU5UX0gNCiMgIGluY2x1ZGUgPHN0 ZGludC5oPg0KIyBlbmRpZg0KI2VuZGlmDQojaWYgSEFWRV9VTklTVERfSA0K IyBpbmNsdWRlIDx1bmlzdGQuaD4NCiNlbmRpZg0KI2luY2x1ZGUgPHN5cy9z dHJlYW0uaD4NCmNvbmZpZ3VyZToxNzEyNzogcmVzdWx0OiBubw0KY29uZmln dXJlOjE3MTMxOiBjaGVja2luZyBzeXMvc3RyZWFtLmggcHJlc2VuY2UNCmNv bmZpZ3VyZToxNzEzODogY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZTox NzEzNToyNDogc3lzL3N0cmVhbS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5DQpjb25maWd1cmU6MTcxNDQ6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxNzEzNCAiY29uZmlndXJlIg0KI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lzL3N0cmVhbS5oPg0K Y29uZmlndXJlOjE3MTYyOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTcxODA6 IGNoZWNraW5nIGZvciBzeXMvc3RyZWFtLmgNCmNvbmZpZ3VyZToxNzE4Nzog cmVzdWx0OiBubw0KY29uZmlndXJlOjE3MDkxOiBjaGVja2luZyBmb3Igc3lz L21tYW4uaA0KY29uZmlndXJlOjE3MDk2OiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjE3MTAwOiBjaGVja2luZyBjdXJzZXMuaCB1c2FiaWxpdHkNCmNvbmZp Z3VyZToxNzEwOTogY2MgLWMgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTcxMTI6 ICQ/ID0gMA0KY29uZmlndXJlOjE3MTE1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8N CmNvbmZpZ3VyZToxNzExODogJD8gPSAwDQpjb25maWd1cmU6MTcxMjc6IHJl c3VsdDogeWVzDQpjb25maWd1cmU6MTcxMzE6IGNoZWNraW5nIGN1cnNlcy5o IHByZXNlbmNlDQpjb25maWd1cmU6MTcxMzg6IGNjIC1FICBjb25mdGVzdC5j DQpjb25maWd1cmU6MTcxNDQ6ICQ/ID0gMA0KY29uZmlndXJlOjE3MTYyOiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTgwOiBjaGVja2luZyBmb3IgY3Vy c2VzLmgNCmNvbmZpZ3VyZToxNzE4NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy ZToxNzEwMDogY2hlY2tpbmcgdGVybWNhcC5oIHVzYWJpbGl0eQ0KY29uZmln dXJlOjE3MTA5OiBjYyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1w ZW50aXVtcHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxNzExMjog JD8gPSAwDQpjb25maWd1cmU6MTcxMTU6IHRlc3QgLXMgY29uZnRlc3Qubw0K Y29uZmlndXJlOjE3MTE4OiAkPyA9IDANCmNvbmZpZ3VyZToxNzEyNzogcmVz dWx0OiB5ZXMNCmNvbmZpZ3VyZToxNzEzMTogY2hlY2tpbmcgdGVybWNhcC5o IHByZXNlbmNlDQpjb25maWd1cmU6MTcxMzg6IGNjIC1FICBjb25mdGVzdC5j DQpjb25maWd1cmU6MTcxNDQ6ICQ/ID0gMA0KY29uZmlndXJlOjE3MTYyOiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTgwOiBjaGVja2luZyBmb3IgdGVy bWNhcC5oDQpjb25maWd1cmU6MTcxODc6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTcwOTE6IGNoZWNraW5nIGZvciB0ZXJtaW8uaA0KY29uZmlndXJlOjE3 MDk2OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTcxMDA6IGNoZWNraW5nIHRl cm1iaXRzLmggdXNhYmlsaXR5DQpjb25maWd1cmU6MTcxMDk6IGNjIC1jICAt RERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVz dC5jID4mNQ0KY29uZmlndXJlOjE3MTM4OjIyOiB0ZXJtYml0cy5oOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6MTcxMTI6ICQ/ID0g MQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxNzEw MyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVk ZSA8c3RkaW8uaD4NCiNpZiBIQVZFX1NZU19UWVBFU19IDQojIGluY2x1ZGUg PHN5cy90eXBlcy5oPg0KI2VuZGlmDQojaWYgSEFWRV9TWVNfU1RBVF9IDQoj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQojZW5kaWYNCiNpZiBTVERDX0hFQURF UlMNCiMgaW5jbHVkZSA8c3RkbGliLmg+DQojIGluY2x1ZGUgPHN0ZGRlZi5o Pg0KI2Vsc2UNCiMgaWYgSEFWRV9TVERMSUJfSA0KIyAgaW5jbHVkZSA8c3Rk bGliLmg+DQojIGVuZGlmDQojZW5kaWYNCiNpZiBIQVZFX1NUUklOR19IDQoj IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+DQojIGVuZGlmDQojIGluY2x1ZGUgPHN0cmluZy5oPg0K I2VuZGlmDQojaWYgSEFWRV9TVFJJTkdTX0gNCiMgaW5jbHVkZSA8c3RyaW5n cy5oPg0KI2VuZGlmDQojaWYgSEFWRV9JTlRUWVBFU19IDQojIGluY2x1ZGUg PGludHR5cGVzLmg+DQojZWxzZQ0KIyBpZiBIQVZFX1NURElOVF9IDQojICBp bmNsdWRlIDxzdGRpbnQuaD4NCiMgZW5kaWYNCiNlbmRpZg0KI2lmIEhBVkVf VU5JU1REX0gNCiMgaW5jbHVkZSA8dW5pc3RkLmg+DQojZW5kaWYNCiNpbmNs dWRlIDx0ZXJtYml0cy5oPg0KY29uZmlndXJlOjE3MTI3OiByZXN1bHQ6IG5v DQpjb25maWd1cmU6MTcxMzE6IGNoZWNraW5nIHRlcm1iaXRzLmggcHJlc2Vu Y2UNCmNvbmZpZ3VyZToxNzEzODogY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZp Z3VyZToxNzEzNToyMjogdGVybWJpdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQ0KY29uZmlndXJlOjE3MTQ0OiAkPyA9IDENCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTcxMzQgImNvbmZpZ3VyZSIN CiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHRlcm1iaXRzLmg+ DQpjb25maWd1cmU6MTcxNjI6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxNzE4 MDogY2hlY2tpbmcgZm9yIHRlcm1iaXRzLmgNCmNvbmZpZ3VyZToxNzE4Nzog cmVzdWx0OiBubw0KY29uZmlndXJlOjE3MTAwOiBjaGVja2luZyBhc20vdGVy bWJpdHMuaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToxNzEwOTogY2MgLWMgIC1E REJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0 LmMgPiY1DQpjb25maWd1cmU6MTcxMzg6MjY6IGFzbS90ZXJtYml0cy5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6MTcxMTI6ICQ/ ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAx NzEwMyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5j bHVkZSA8c3RkaW8uaD4NCiNpZiBIQVZFX1NZU19UWVBFU19IDQojIGluY2x1 ZGUgPHN5cy90eXBlcy5oPg0KI2VuZGlmDQojaWYgSEFWRV9TWVNfU1RBVF9I DQojIGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQojZW5kaWYNCiNpZiBTVERDX0hF QURFUlMNCiMgaW5jbHVkZSA8c3RkbGliLmg+DQojIGluY2x1ZGUgPHN0ZGRl Zi5oPg0KI2Vsc2UNCiMgaWYgSEFWRV9TVERMSUJfSA0KIyAgaW5jbHVkZSA8 c3RkbGliLmg+DQojIGVuZGlmDQojZW5kaWYNCiNpZiBIQVZFX1NUUklOR19I DQojIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KIyAgaW5j bHVkZSA8bWVtb3J5Lmg+DQojIGVuZGlmDQojIGluY2x1ZGUgPHN0cmluZy5o Pg0KI2VuZGlmDQojaWYgSEFWRV9TVFJJTkdTX0gNCiMgaW5jbHVkZSA8c3Ry aW5ncy5oPg0KI2VuZGlmDQojaWYgSEFWRV9JTlRUWVBFU19IDQojIGluY2x1 ZGUgPGludHR5cGVzLmg+DQojZWxzZQ0KIyBpZiBIQVZFX1NURElOVF9IDQoj ICBpbmNsdWRlIDxzdGRpbnQuaD4NCiMgZW5kaWYNCiNlbmRpZg0KI2lmIEhB VkVfVU5JU1REX0gNCiMgaW5jbHVkZSA8dW5pc3RkLmg+DQojZW5kaWYNCiNp bmNsdWRlIDxhc20vdGVybWJpdHMuaD4NCmNvbmZpZ3VyZToxNzEyNzogcmVz dWx0OiBubw0KY29uZmlndXJlOjE3MTMxOiBjaGVja2luZyBhc20vdGVybWJp dHMuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjE3MTM4OiBjYyAtRSAgY29uZnRl c3QuYw0KY29uZmlndXJlOjE3MTM1OjI2OiBhc20vdGVybWJpdHMuaDogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOjE3MTQ0OiAkPyA9 IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTcx MzQgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1 ZGUgPGFzbS90ZXJtYml0cy5oPg0KY29uZmlndXJlOjE3MTYyOiByZXN1bHQ6 IG5vDQpjb25maWd1cmU6MTcxODA6IGNoZWNraW5nIGZvciBhc20vdGVybWJp dHMuaA0KY29uZmlndXJlOjE3MTg3OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6 MTcxMDA6IGNoZWNraW5nIGdycC5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjE3 MTA5OiBjYyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxNzExMjogJD8gPSAw DQpjb25maWd1cmU6MTcxMTU6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmln dXJlOjE3MTE4OiAkPyA9IDANCmNvbmZpZ3VyZToxNzEyNzogcmVzdWx0OiB5 ZXMNCmNvbmZpZ3VyZToxNzEzMTogY2hlY2tpbmcgZ3JwLmggcHJlc2VuY2UN CmNvbmZpZ3VyZToxNzEzODogY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3Vy ZToxNzE0NDogJD8gPSAwDQpjb25maWd1cmU6MTcxNjI6IHJlc3VsdDogeWVz DQpjb25maWd1cmU6MTcxODA6IGNoZWNraW5nIGZvciBncnAuaA0KY29uZmln dXJlOjE3MTg3OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MTAwOiBjaGVj a2luZyBwYXRocy5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjE3MTA5OiBjYyAt YyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29u ZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxNzExMjogJD8gPSAwDQpjb25maWd1 cmU6MTcxMTU6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjE3MTE4 OiAkPyA9IDANCmNvbmZpZ3VyZToxNzEyNzogcmVzdWx0OiB5ZXMNCmNvbmZp Z3VyZToxNzEzMTogY2hlY2tpbmcgcGF0aHMuaCBwcmVzZW5jZQ0KY29uZmln dXJlOjE3MTM4OiBjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjE3MTQ0 OiAkPyA9IDANCmNvbmZpZ3VyZToxNzE2MjogcmVzdWx0OiB5ZXMNCmNvbmZp Z3VyZToxNzE4MDogY2hlY2tpbmcgZm9yIHBhdGhzLmgNCmNvbmZpZ3VyZTox NzE4NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNzIxMjogY2hlY2tpbmcg Zm9yIGxzdGF0DQpjb25maWd1cmU6MTcyNTU6IGNjIC1vIGNvbmZ0ZXN0ICAt RERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRl c3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE3MjU4OiAk PyA9IDANCmNvbmZpZ3VyZToxNzI2MTogdGVzdCAtcyBjb25mdGVzdA0KY29u ZmlndXJlOjE3MjY0OiAkPyA9IDANCmNvbmZpZ3VyZToxNzI3NDogcmVzdWx0 OiB5ZXMNCmNvbmZpZ3VyZToxNzIxMjogY2hlY2tpbmcgZm9yIHB1dGVudg0K Y29uZmlndXJlOjE3MjU1OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1s Y3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxNzI1ODogJD8gPSAwDQpjb25m aWd1cmU6MTcyNjE6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxNzI2 NDogJD8gPSAwDQpjb25maWd1cmU6MTcyNzQ6IHJlc3VsdDogeWVzDQpjb25m aWd1cmU6MTcyMTI6IGNoZWNraW5nIGZvciBzZWxlY3QNCmNvbmZpZ3VyZTox NzI1NTogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAg PiY1DQpjb25maWd1cmU6MTcyNTg6ICQ/ID0gMA0KY29uZmlndXJlOjE3MjYx OiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTcyNjQ6ICQ/ID0gMA0K Y29uZmlndXJlOjE3Mjc0OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3MjEy OiBjaGVja2luZyBmb3Igc2V0ZW52DQpjb25maWd1cmU6MTcyNTU6IGNjIC1v IGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1w cm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmln dXJlOjE3MjU4OiAkPyA9IDANCmNvbmZpZ3VyZToxNzI2MTogdGVzdCAtcyBj b25mdGVzdA0KY29uZmlndXJlOjE3MjY0OiAkPyA9IDANCmNvbmZpZ3VyZTox NzI3NDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNzIxMjogY2hlY2tpbmcg Zm9yIHNldGxvY2FsZQ0KY29uZmlndXJlOjE3MjU1OiBjYyAtbyBjb25mdGVz dCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNv bmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxNzI1 ODogJD8gPSAwDQpjb25maWd1cmU6MTcyNjE6IHRlc3QgLXMgY29uZnRlc3QN CmNvbmZpZ3VyZToxNzI2NDogJD8gPSAwDQpjb25maWd1cmU6MTcyNzQ6IHJl c3VsdDogeWVzDQpjb25maWd1cmU6MTcyMTI6IGNoZWNraW5nIGZvciBzdHJj b2xsDQpjb25maWd1cmU6MTcyNTU6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdf T0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAt bHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE3MjU4OiAkPyA9IDAN CmNvbmZpZ3VyZToxNzI2MTogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJl OjE3MjY0OiAkPyA9IDANCmNvbmZpZ3VyZToxNzI3NDogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToxNzIxMjogY2hlY2tpbmcgZm9yIHRjZ2V0YXR0cg0KY29u ZmlndXJlOjE3MjU1OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAt cGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5 cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxNzI1ODogJD8gPSAwDQpjb25maWd1 cmU6MTcyNjE6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxNzI2NDog JD8gPSAwDQpjb25maWd1cmU6MTcyNzQ6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTcyODU6IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBmaWxlLW1vZGUgbWFj cm9zIGFyZSBicm9rZW4NCmNvbmZpZ3VyZToxNzMzMDogcmVzdWx0OiBubw0K Y29uZmlndXJlOjE3MzQwOiBjaGVja2luZyByZXR1cm4gdHlwZSBvZiBzaWdu YWwgaGFuZGxlcnMNCmNvbmZpZ3VyZToxNzM3NDogY2MgLWMgIC1EREJVR19P RkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1 DQpjb25maWd1cmU6MTczNzc6ICQ/ID0gMA0KY29uZmlndXJlOjE3MzgwOiB0 ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxNzM4MzogJD8gPSAwDQpj b25maWd1cmU6MTczOTM6IHJlc3VsdDogdm9pZA0KY29uZmlndXJlOjE3NDAy OiBjaGVja2luZyBmb3IgdHlwZSBvZiBzaWduYWwgZnVuY3Rpb25zDQpjb25m aWd1cmU6MTc0MzM6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1w aXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlw dCAtbG0gID4mNQ0KY29uZmlndXJlOjE3NDM2OiAkPyA9IDANCmNvbmZpZ3Vy ZToxNzQzOTogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE3NDQyOiAk PyA9IDANCmNvbmZpZ3VyZToxNzU0MDogcmVzdWx0OiBwb3NpeA0KY29uZmln dXJlOjE3NTU5OiBjaGVja2luZyB3aGV0aGVyIHByb2dyYW1zIGFyZSBhYmxl IHRvIHJlZGVjbGFyZSBnZXRwdyBmdW5jdGlvbnMNCmNvbmZpZ3VyZToxNzU4 NTogY2MgLWMgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTc1ODg6ICQ/ID0gMA0K Y29uZmlndXJlOjE3NTkxOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3Vy ZToxNzU5NDogJD8gPSAwDQpjb25maWd1cmU6MTc2MDU6IHJlc3VsdDogeWVz DQpjb25maWd1cmU6MTc2MTQ6IGNoZWNraW5nIGZvciBUSU9DR1dJTlNaIGlu IHN5cy9pb2N0bC5oDQpjb25maWd1cmU6MTc2Mzk6IGNjIC1jICAtRERCVUdf T0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICBjb25mdGVzdC5jID4m NQ0KY29uZmlndXJlOjE3NjQyOiAkPyA9IDANCmNvbmZpZ3VyZToxNzY0NTog dGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MTc2NDg6ICQ/ID0gMA0K Y29uZmlndXJlOjE3NjU5OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE3NjY4 OiBjaGVja2luZyBmb3IgRklPTlJFQUQgaW4gc3lzL2lvY3RsLmgNCmNvbmZp Z3VyZToxNzY5MzogY2MgLWMgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTc2OTY6 ICQ/ID0gMA0KY29uZmlndXJlOjE3Njk5OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8N CmNvbmZpZ3VyZToxNzcwMjogJD8gPSAwDQpjb25maWd1cmU6MTc3MTM6IHJl c3VsdDogeWVzDQpjb25maWd1cmU6MTc3MjI6IGNoZWNraW5nIGZvciBUSU9D U1RBVCBpbiBzeXMvaW9jdGwuaA0KY29uZmlndXJlOjE3NzQ3OiBjYyAtYyAg LUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgY29uZnRl c3QuYyA+JjUNCmNvbmZpZ3VyZToxNzc1MDogJD8gPSAwDQpjb25maWd1cmU6 MTc3NTM6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjE3NzU2OiAk PyA9IDANCmNvbmZpZ3VyZToxNzc2NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy ZToxNzc3NzogY2hlY2tpbmcgaWYgc3RydWN0IGRpcmVudCBoYXMgYSBkX2lu byBtZW1iZXINCmNvbmZpZ3VyZToxNzgyMzogY2MgLWMgIC1EREJVR19PRkYg LU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpj b25maWd1cmU6MTc4MjY6ICQ/ID0gMA0KY29uZmlndXJlOjE3ODI5OiB0ZXN0 IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxNzgzMjogJD8gPSAwDQpjb25m aWd1cmU6MTc4NDM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTc4NTI6IGNo ZWNraW5nIHdoZXRoZXIgc2lnbmFsIGhhbmRsZXJzIGFyZSBvZiB0eXBlIHZv aWQNCmNvbmZpZ3VyZToxNzg4NDogY2MgLWMgIC1EREJVR19PRkYgLU8gLXBp cGUgLW1jcHU9cGVudGl1bXBybyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1 cmU6MTc4ODc6ICQ/ID0gMA0KY29uZmlndXJlOjE3ODkwOiB0ZXN0IC1zIGNv bmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxNzg5MzogJD8gPSAwDQpjb25maWd1cmU6 MTc5MDM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTc5MTg6IGNoZWNraW5n IGZvciB0Z2V0ZW50IGluIC1sbmN1cnNlcw0KY29uZmlndXJlOjE3OTUxOiBj YyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50 aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzICAtbHogLWxjcnlwdCAt bG0gID4mNQ0KY29uZmlndXJlOjE3OTU0OiAkPyA9IDANCmNvbmZpZ3VyZTox Nzk1NzogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE3OTYwOiAkPyA9 IDANCmNvbmZpZ3VyZToxNzk3MTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTox ODEwMTogY2hlY2tpbmcgZm9yIHRlcm1jYXAgZnVuY3Rpb25zIGxpYnJhcnkN CmNvbmZpZ3VyZToxODExNDogcmVzdWx0OiAtbG5jdXJzZXMNCmNvbmZpZ3Vy ZToxODEzMTogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oDQpjb25maWd1cmU6MTgx MzY6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTgxMzE6IGNoZWNraW5nIGZv ciB1bmlzdGQuaA0KY29uZmlndXJlOjE4MTM2OiByZXN1bHQ6IHllcw0KY29u ZmlndXJlOjE4MjQ0OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUNCmNvbmZp Z3VyZToxODI4NzogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBp cGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0 IC1sbSAgPiY1DQpjb25maWd1cmU6MTgyOTA6ICQ/ID0gMA0KY29uZmlndXJl OjE4MjkzOiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTgyOTY6ICQ/ ID0gMA0KY29uZmlndXJlOjE4MzA2OiByZXN1bHQ6IHllcw0KY29uZmlndXJl OjE4MzE2OiBjaGVja2luZyBmb3Igd29ya2luZyBtbWFwDQpjb25maWd1cmU6 MTg0NTU6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0g ID4mNQ0KY29uZmlndXJlOjE4NDU4OiAkPyA9IDANCmNvbmZpZ3VyZToxODQ2 MDogLi9jb25mdGVzdA0KY29uZmlndXJlOjE4NDYzOiAkPyA9IDANCmNvbmZp Z3VyZToxODQ3NjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODQ4NzogY2hl Y2tpbmcgcmV0dXJuIHR5cGUgb2Ygc2lnbmFsIGhhbmRsZXJzDQpjb25maWd1 cmU6MTg1NDA6IHJlc3VsdDogdm9pZA0KY29uZmlndXJlOjE4NTQ4OiBjaGVj a2luZyByZXR1cm4gdHlwZSBvZiBxc29ydA0KY29uZmlndXJlOjE4NTc4OiBj YyAtYyAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAg Y29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxODU4MTogJD8gPSAwDQpjb25m aWd1cmU6MTg1ODQ6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjE4 NTg3OiAkPyA9IDANCmNvbmZpZ3VyZToxODU5NzogcmVzdWx0OiB2b2lkDQpj b25maWd1cmU6MTg2MTE6IGNoZWNraW5nIHdoZXRoZXIgdXRpbWUgYWNjZXB0 cyBhIG51bGwgYXJndW1lbnQNCmNvbmZpZ3VyZToxODY0NTogY2MgLW8gY29u ZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg ICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6 MTg2NDg6ICQ/ID0gMA0KY29uZmlndXJlOjE4NjUwOiAuL2NvbmZ0ZXN0DQpj b25maWd1cmU6MTg2NTM6ICQ/ID0gMA0KY29uZmlndXJlOjE4NjY3OiByZXN1 bHQ6IHllcw0KY29uZmlndXJlOjE4NjgyOiBjaGVja2luZyBmb3IgdnByaW50 Zg0KY29uZmlndXJlOjE4NzI1OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09G RiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6 IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODY5ODogd2FybmluZzog Y29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uIGB2cHJp bnRmJw0KY29uZmlndXJlOjE4NzI4OiAkPyA9IDANCmNvbmZpZ3VyZToxODcz MTogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4NzM0OiAkPyA9IDAN CmNvbmZpZ3VyZToxODc0NDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODc1 MTogY2hlY2tpbmcgZm9yIF9kb3BybnQNCmNvbmZpZ3VyZToxODc5NDogY2Mg LW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1 bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQovdmFy L3RtcC8vY2NuSzlqN0UubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zhci90 bXAvL2Njbks5ajdFLm8oLnRleHQrMHhmKTogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgX2RvcHJudCcNCmNvbmZpZ3VyZToxODc5NzogJD8gPSAxDQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4NzU3ICJjb25m aWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5c3RlbSBoZWFk ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy IF9kb3BybnQgKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxhc3NlcnQuaD4N Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19jcGx1c3BsdXMNCmV4dGVy biAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KICAgYnVpbHRp biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8NCmNoYXIgX2RvcHJudCAoKTsNCmNoYXIgKCpmKSAoKTsN Cg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1 cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1N WV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkN CnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmluZWQgKF9f c3R1Yl9fZG9wcm50KSB8fCBkZWZpbmVkIChfX3N0dWJfX19fZG9wcm50KQ0K Y2hva2UgbWUNCiNlbHNlDQpmID0gX2RvcHJudDsNCiNlbmRpZg0KDQogIDsN CiAgcmV0dXJuIDA7DQp9DQpjb25maWd1cmU6MTg4MTM6IHJlc3VsdDogbm8N CmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGFsYXJtDQpjb25maWd1 cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBl IC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAt bG0gID4mNQ0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZTox ODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9 IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTox ODkyMTogY2hlY2tpbmcgZm9yIGJtb3ZlDQpjb25maWd1cmU6MTg5NjQ6IGNj IC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zh ci90bXAvL2NjbnZqcWFKLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIv dG1wLy9jY252anFhSi5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYGJtb3ZlJw0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDENCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTg5MjcgImNvbmZp Z3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLA0KICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg Ym1vdmUgKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxhc3NlcnQuaD4NCi8q IE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19jcGx1c3BsdXMNCmV4dGVybiAi QyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8NCmNoYXIgYm1vdmUgKCk7DQpjaGFyICgqZikgKCk7DQoNCiNp ZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAg ICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJ TigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQov KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQN CiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJf Ym1vdmUpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2Jtb3ZlKQ0KY2hva2UgbWUN CiNlbHNlDQpmID0gYm1vdmU7DQojZW5kaWYNCg0KICA7DQogIHJldHVybiAw Ow0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6 MTg5MjE6IGNoZWNraW5nIGZvciBjaHNpemUNCmNvbmZpZ3VyZToxODk2NDog Y2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQov dmFyL3RtcC8vY2NDV2RnMU4ubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zh ci90bXAvL2NjQ1dkZzFOLm8oLnRleHQrMHhmKTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgY2hzaXplJw0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDENCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTg5MjcgImNv bmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl dyBwcm90b3R5cGVzLA0KICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo YXIgY2hzaXplICgpOyBiZWxvdy4gICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+ DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVmIF9fY3BsdXNwbHVzDQpleHRl cm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovDQpjaGFyIGNoc2l6ZSAoKTsNCmNoYXIgKCpmKSAoKTsN Cg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1 cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1N WV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkN CnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmluZWQgKF9f c3R1Yl9jaHNpemUpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2Noc2l6ZSkNCmNo b2tlIG1lDQojZWxzZQ0KZiA9IGNoc2l6ZTsNCiNlbmRpZg0KDQogIDsNCiAg cmV0dXJuIDA7DQp9DQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNv bmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZQ0KY29uZmln dXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlw ZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQg LWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpjb25maWd1cmU6 MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxODk3MzogJD8g PSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6 MTg5MjE6IGNoZWNraW5nIGZvciByaW50DQpjb25maWd1cmU6MTg5NjQ6IGNj IC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29u ZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAt cyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3Vy ZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tp bmcgZm9yIGZpbml0ZQ0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVz dCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNv bmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2 NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QN CmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJl c3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBpc25h bg0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09G RiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6 IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpj b25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZTox ODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpj b25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBmcHNldG1hc2sNCmNvbmZp Z3VyZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBp cGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0 IC1sbSAgPiY1DQovdmFyL3RtcC8vY2NhRmlKREoubzogSW4gZnVuY3Rpb24g YG1haW4nOg0KL3Zhci90bXAvL2NjYUZpSkRKLm8oLnRleHQrMHhmKTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgZnBzZXRtYXNrJw0KY29uZmlndXJlOjE4 OTY3OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0K I2xpbmUgMTg5MjcgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5o Ig0KLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgZnBzZXRtYXNrICgpOyBiZWxvdy4gICovDQoj aW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVm IF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIGZwc2V0bWFz ayAoKTsNCmNoYXIgKCpmKSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9NQUlO DQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBl bmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0K I2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu ICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9mcHNldG1hc2spIHx8IGRlZmlu ZWQgKF9fc3R1Yl9fX2Zwc2V0bWFzaykNCmNob2tlIG1lDQojZWxzZQ0KZiA9 IGZwc2V0bWFzazsNCiNlbmRpZg0KDQogIDsNCiAgcmV0dXJuIDA7DQp9DQpj b25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxODkyMTog Y2hlY2tpbmcgZm9yIGZwcmVzZXRzdGlja3kNCmNvbmZpZ3VyZToxODk2NDog Y2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQov dmFyL3RtcC8vY2NwcDJjWGIubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zh ci90bXAvL2NjcHAyY1hiLm8oLnRleHQrMHhmKTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgZnByZXNldHN0aWNreScNCmNvbmZpZ3VyZToxODk2NzogJD8g PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4 OTI3ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIGZwcmVzZXRzdGlja3kgKCk7IGJlbG93LiAgKi8NCiNpbmNs dWRlIDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19j cGx1c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg Z2NjMg0KICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgZnByZXNldHN0aWNr eSAoKTsNCmNoYXIgKCpmKSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9NQUlO DQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBl bmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0K I2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu ICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9mcHJlc2V0c3RpY2t5KSB8fCBk ZWZpbmVkIChfX3N0dWJfX19mcHJlc2V0c3RpY2t5KQ0KY2hva2UgbWUNCiNl bHNlDQpmID0gZnByZXNldHN0aWNreTsNCiNlbmRpZg0KDQogIDsNCiAgcmV0 dXJuIDA7DQp9DQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNvbmZp Z3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGN1c2VyaWQNCmNvbmZpZ3VyZTox ODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAg PiY1DQovdmFyL3RtcC8vY2M5ZWVLTXgubzogSW4gZnVuY3Rpb24gYG1haW4n Og0KL3Zhci90bXAvL2NjOWVlS014Lm8oLnRleHQrMHhmKTogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgY3VzZXJpZCcNCmNvbmZpZ3VyZToxODk2NzogJD8g PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4 OTI3ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIGN1c2VyaWQgKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxh c3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19jcGx1c3Bs dXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0K ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgY3VzZXJpZCAoKTsNCmNoYXIg KCpmKSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBf X2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50 IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQN Cm1haW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRl ZmluZWQgKF9fc3R1Yl9jdXNlcmlkKSB8fCBkZWZpbmVkIChfX3N0dWJfX19j dXNlcmlkKQ0KY2hva2UgbWUNCiNlbHNlDQpmID0gY3VzZXJpZDsNCiNlbmRp Zg0KDQogIDsNCiAgcmV0dXJuIDA7DQp9DQpjb25maWd1cmU6MTg5ODM6IHJl c3VsdDogbm8NCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGZjbnRs DQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZG IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHog LWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDANCmNv bmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4 OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiB5ZXMNCmNv bmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGZjb252ZXJ0DQpjb25maWd1 cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBl IC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAt bG0gID4mNQ0KL3Zhci90bXAvL2NjUWhZZ0lxLm86IEluIGZ1bmN0aW9uIGBt YWluJzoNCi92YXIvdG1wLy9jY1FoWWdJcS5vKC50ZXh0KzB4Zik6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYGZjb252ZXJ0Jw0KY29uZmlndXJlOjE4OTY3 OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xp bmUgMTg5MjcgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0K LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgIHdoaWNoIGNhbiBjb25m bGljdCB3aXRoIGNoYXIgZmNvbnZlcnQgKCk7IGJlbG93LiAgKi8NCiNpbmNs dWRlIDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19j cGx1c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg Z2NjMg0KICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgZmNvbnZlcnQgKCk7 DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAg aWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYN CiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRp Zg0KaW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQog ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcg d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8N CiNpZiBkZWZpbmVkIChfX3N0dWJfZmNvbnZlcnQpIHx8IGRlZmluZWQgKF9f c3R1Yl9fX2Zjb252ZXJ0KQ0KY2hva2UgbWUNCiNlbHNlDQpmID0gZmNvbnZl cnQ7DQojZW5kaWYNCg0KICA7DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJl OjE4OTgzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5n IGZvciBwb2xsDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAt RERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRl c3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE4OTY3OiAk PyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29u ZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0 OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGdldHJ1c2Fn ZQ0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09G RiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6 IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpj b25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZTox ODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpj b25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBnZXRwd3VpZA0KY29uZmln dXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlw ZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQg LWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpjb25maWd1cmU6 MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxODk3MzogJD8g PSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6 MTg5MjE6IGNoZWNraW5nIGZvciBnZXRjd2QNCmNvbmZpZ3VyZToxODk2NDog Y2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpj b25maWd1cmU6MTg5Njc6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTcwOiB0ZXN0 IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTg5NzM6ICQ/ID0gMA0KY29uZmln dXJlOjE4OTgzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE4OTIxOiBjaGVj a2luZyBmb3IgZ2V0cmxpbWl0DQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNv bmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJl OjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25m dGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4 MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9y IGdldHdkDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERC VUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3Qu YyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE4OTY3OiAkPyA9 IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29uZmln dXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiB5 ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGluZGV4DQpjb25m aWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1w aXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlw dCAtbG0gID4mNQ0KY29uZmlndXJlOjE4OTM3OiB3YXJuaW5nOiBjb25mbGlj dGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gYGluZGV4Jw0KY29u ZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAt cyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3Vy ZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tp bmcgZm9yIHN0cGNweQ0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVz dCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNv bmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2 NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QN CmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJl c3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBsb2Nr aW5nDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdf T0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAt bHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjY29sNWRaLm86IElu IGZ1bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9jY2NvbDVkWi5vKC50ZXh0 KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGxvY2tpbmcnDQpjb25m aWd1cmU6MTg5Njc6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6DQojbGluZSAxODkyNyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNv bmZkZWZzLmgiDQovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBsb2NraW5nICgpOyBiZWxvdy4g ICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2Nj MiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0K I2lmZGVmIF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdl IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIGxv Y2tpbmcgKCk7DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlf TUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0K IyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7 IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGli cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcg c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs aWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJfbG9ja2luZykgfHwgZGVm aW5lZCAoX19zdHViX19fbG9ja2luZykNCmNob2tlIG1lDQojZWxzZQ0KZiA9 IGxvY2tpbmc7DQojZW5kaWYNCg0KICA7DQogIHJldHVybiAwOw0KfQ0KY29u ZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTg5MjE6IGNo ZWNraW5nIGZvciBsb25nam1wDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNv bmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJl OjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25m dGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4 MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9y IHBlcnJvcg0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLURE QlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0 LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8g PSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZp Z3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDog eWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBwcmVhZA0KY29u ZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAt cGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5 cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpjb25maWd1 cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxODk3Mzog JD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTg5MjE6IGNoZWNraW5nIGZvciByZWFscGF0aA0KY29uZmlndXJlOjE4 OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNw dT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+ JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6 IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpj b25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6 IGNoZWNraW5nIGZvciByZWFkbGluaw0KY29uZmlndXJlOjE4OTY0OiBjYyAt byBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZp Z3VyZToxODk2NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMg Y29uZnRlc3QNCmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6 MTg5ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5n IGZvciByZW5hbWUNCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRlc3Qg IC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25m dGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTg5Njc6 ICQ/ID0gMA0KY29uZmlndXJlOjE4OTcwOiB0ZXN0IC1zIGNvbmZ0ZXN0DQpj b25maWd1cmU6MTg5NzM6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTgzOiByZXN1 bHQ6IHllcw0KY29uZmlndXJlOjE4OTIxOiBjaGVja2luZyBmb3Igc29ja2V0 DQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZG IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHog LWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDANCmNv bmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4 OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiB5ZXMNCmNv bmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIHN0cm5sZW4NCmNvbmZpZ3Vy ZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUg LW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1s bSAgPiY1DQovdmFyL3RtcC8vY2NYeDhRWmMubzogSW4gZnVuY3Rpb24gYG1h aW4nOg0KL3Zhci90bXAvL2NjWHg4UVpjLm8oLnRleHQrMHhmKTogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgc3RybmxlbicNCmNvbmZpZ3VyZToxODk2Nzog JD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5l IDE4OTI3ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxp Y3Qgd2l0aCBjaGFyIHN0cm5sZW4gKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRl IDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19jcGx1 c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2Nj Mg0KICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgc3RybmxlbiAoKTsNCmNo YXIgKCpmKSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRl ZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAg aW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQpp bnQNCm1haW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMg dGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy ZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lm IGRlZmluZWQgKF9fc3R1Yl9zdHJubGVuKSB8fCBkZWZpbmVkIChfX3N0dWJf X19zdHJubGVuKQ0KY2hva2UgbWUNCiNlbHNlDQpmID0gc3RybmxlbjsNCiNl bmRpZg0KDQogIDsNCiAgcmV0dXJuIDA7DQp9DQpjb25maWd1cmU6MTg5ODM6 IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIG1h ZHZpc2UNCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJV R19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5j IC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTg5Njc6ICQ/ID0g MA0KY29uZmlndXJlOjE4OTcwOiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1 cmU6MTg5NzM6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IHll cw0KY29uZmlndXJlOjE4OTIxOiBjaGVja2luZyBmb3IgbWtzdGVtcA0KY29u ZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAt cGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5 cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpjb25maWd1 cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxODk3Mzog JD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpjb25maWd1 cmU6MTg5MjE6IGNoZWNraW5nIGZvciBzdHJ0b2wNCmNvbmZpZ3VyZToxODk2 NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1 DQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTcwOiB0 ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTg5NzM6ICQ/ID0gMA0KY29u ZmlndXJlOjE4OTgzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE4OTIxOiBj aGVja2luZyBmb3Igc3RydG91bA0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBj b25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJv ICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3Vy ZToxODk2NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29u ZnRlc3QNCmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5 ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZv ciBzdHJ0b2xsDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAt RERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRl c3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE4OTY3OiAk PyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29u ZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0 OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIHN0cnRvdWxs DQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZG IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHog LWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDANCmNv bmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4 OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiB5ZXMNCmNv bmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIHNucHJpbnRmDQpjb25maWd1 cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBl IC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAt bG0gID4mNQ0KY29uZmlndXJlOjE4OTM3OiB3YXJuaW5nOiBjb25mbGljdGlu ZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gYHNucHJpbnRmJw0KY29u ZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAt cyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3Vy ZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tp bmcgZm9yIHRlbXBuYW0NCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRl c3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBj b25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQovdmFyL3RtcC8vY2NJ M0dYSjMubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zhci90bXAvL2NjSTNH WEozLm8oLnRleHQrMHhmKTogd2FybmluZzogdGVtcG5hbSgpIHBvc3NpYmx5 IHVzZWQgdW5zYWZlbHk7IGNvbnNpZGVyIHVzaW5nIG1rc3RlbXAoKQ0KY29u ZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAt cyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3Vy ZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tp bmcgZm9yIHRocl9zZXRjb25jdXJyZW5jeQ0KY29uZmlndXJlOjE4OTY0OiBj YyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50 aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCi92 YXIvdG1wLy9jY255M0FHNS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6DQovdmFy L3RtcC8vY2NueTNBRzUubygudGV4dCsweGYpOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGB0aHJfc2V0Y29uY3VycmVuY3knDQpjb25maWd1cmU6MTg5Njc6 ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSAxODkyNyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQov KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZs aWN0IHdpdGggY2hhciB0aHJfc2V0Y29uY3VycmVuY3kgKCk7IGJlbG93LiAg Ki8NCiNpbmNsdWRlIDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2My IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQoj aWZkZWYgX19jcGx1c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2Ug dXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgZ2NjMg0KICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgdGhy X3NldGNvbmN1cnJlbmN5ICgpOw0KY2hhciAoKmYpICgpOw0KDQojaWZkZWYg Rjc3X0RVTU1ZX01BSU4NCiMgIGlmZGVmIF9fY3BsdXNwbHVzDQogICAgIGV4 dGVybiAiQyINCiMgIGVuZGlmDQogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7 IHJldHVybiAxOyB9DQojZW5kaWYNCmludA0KbWFpbiAoKQ0Kew0KLyogVGhl IEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp Y2ggaXQgaW1wbGVtZW50cw0KICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5P U1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQogICAg c29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovDQojaWYgZGVmaW5lZCAoX19zdHViX3Rocl9z ZXRjb25jdXJyZW5jeSkgfHwgZGVmaW5lZCAoX19zdHViX19fdGhyX3NldGNv bmN1cnJlbmN5KQ0KY2hva2UgbWUNCiNlbHNlDQpmID0gdGhyX3NldGNvbmN1 cnJlbmN5Ow0KI2VuZGlmDQoNCiAgOw0KICByZXR1cm4gMDsNCn0NCmNvbmZp Z3VyZToxODk4MzogcmVzdWx0OiBubw0KY29uZmlndXJlOjE4OTIxOiBjaGVj a2luZyBmb3IgZ2V0aG9zdGJ5YWRkcl9yDQpjb25maWd1cmU6MTg5NjQ6IGNj IC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zh ci90bXAvL2NjMURQa3BaLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIv dG1wLy9jYzFEUGtwWi5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYGdldGhvc3RieWFkZHJfcicNCmNvbmZpZ3VyZToxODk2NzogJD8g PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4 OTI3ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIGdldGhvc3RieWFkZHJfciAoKTsgYmVsb3cuICAqLw0KI2lu Y2x1ZGUgPGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNpZmRlZiBf X2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1c2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBnZXRob3N0Ynlh ZGRyX3IgKCk7DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlf TUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0K IyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7 IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGli cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcg c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs aWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJfZ2V0aG9zdGJ5YWRkcl9y KSB8fCBkZWZpbmVkIChfX3N0dWJfX19nZXRob3N0YnlhZGRyX3IpDQpjaG9r ZSBtZQ0KI2Vsc2UNCmYgPSBnZXRob3N0YnlhZGRyX3I7DQojZW5kaWYNCg0K ICA7DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6 IG5vDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBnZXRob3N0Ynlu YW1lX3INCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiBubw0KY29uZmlndXJl OjE4OTIxOiBjaGVja2luZyBmb3IgZ2V0cHduYW0NCmNvbmZpZ3VyZToxODk2 NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1 DQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTcwOiB0 ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTg5NzM6ICQ/ID0gMA0KY29u ZmlndXJlOjE4OTgzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE4OTIxOiBj aGVja2luZyBmb3IgYmZpbGwNCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29u ZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg ICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQovdmFyL3RtcC8v Y2N1T29IVVEubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zhci90bXAvL2Nj dU9vSFVRLm8oLnRleHQrMHhmKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg YmZpbGwnDQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMQ0KY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxODkyNyAiY29uZmlndXJlIg0K I2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBTeXN0ZW0gaGVhZGVyIHRvIGRl ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBiZmlsbCAo KTsgYmVsb3cuICAqLw0KI2luY2x1ZGUgPGFzc2VydC5oPg0KLyogT3ZlcnJp ZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLiAgKi8NCiNpZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2Vu ZGlmDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lw0KY2hhciBiZmlsbCAoKTsNCmNoYXIgKCpmKSAoKTsNCg0KI2lmZGVmIEY3 N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRl cm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyBy ZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCi8qIFRoZSBH TlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNo IGl0IGltcGxlbWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNv bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9iZmlsbCkg fHwgZGVmaW5lZCAoX19zdHViX19fYmZpbGwpDQpjaG9rZSBtZQ0KI2Vsc2UN CmYgPSBiZmlsbDsNCiNlbmRpZg0KDQogIDsNCiAgcmV0dXJuIDA7DQp9DQpj b25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxODkyMTog Y2hlY2tpbmcgZm9yIGJ6ZXJvDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNv bmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJl OjE4OTM3OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQt aW4gZnVuY3Rpb24gYGJ6ZXJvJw0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDAN CmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJl OjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiB5ZXMN CmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGJjbXANCmNvbmZpZ3Vy ZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUg LW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1s bSAgPiY1DQpjb25maWd1cmU6MTg5Mzc6IHdhcm5pbmc6IGNvbmZsaWN0aW5n IHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiBgYmNtcCcNCmNvbmZpZ3Vy ZToxODk2NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29u ZnRlc3QNCmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5 ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZv ciBzdHJzdHINCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1E REJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVz dC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTg5Mzc6IHdh cm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlv biBgc3Ryc3RyJw0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3Vy ZToxODk3MDogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAk PyA9IDANCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy ZToxODkyMTogY2hlY2tpbmcgZm9yIHN0cnBicmsNCmNvbmZpZ3VyZToxODk2 NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1 DQpjb25maWd1cmU6MTg5Mzc6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciBidWlsdC1pbiBmdW5jdGlvbiBgc3RycGJyaycNCmNvbmZpZ3VyZTox ODk2NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRl c3QNCmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6 IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBz dHJlcnJvcg0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLURE QlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0 LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8g PSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZp Z3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDog eWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciB0ZWxsDQpjb25m aWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1w aXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlw dCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjNHRLeU5SLm86IEluIGZ1bmN0aW9u IGBtYWluJzoNCi92YXIvdG1wLy9jYzR0S3lOUi5vKC50ZXh0KzB4Zik6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYHRlbGwnDQpjb25maWd1cmU6MTg5Njc6 ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSAxODkyNyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQov KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZs aWN0IHdpdGggY2hhciB0ZWxsICgpOyBiZWxvdy4gICovDQojaW5jbHVkZSA8 YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVmIF9fY3BsdXNw bHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIN CiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3 b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIHRlbGwgKCk7DQpjaGFyICgq ZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19j cGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBG NzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQpt YWluICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMg Zm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0 dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZp bmVkIChfX3N0dWJfdGVsbCkgfHwgZGVmaW5lZCAoX19zdHViX19fdGVsbCkN CmNob2tlIG1lDQojZWxzZQ0KZiA9IHRlbGw7DQojZW5kaWYNCg0KICA7DQog IHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpj b25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBhdG9kDQpjb25maWd1cmU6 MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0g ID4mNQ0KL3Zhci90bXAvL2NjVlRXYzJ4Lm86IEluIGZ1bmN0aW9uIGBtYWlu JzoNCi92YXIvdG1wLy9jY1ZUV2MyeC5vKC50ZXh0KzB4Zik6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYGF0b2QnDQpjb25maWd1cmU6MTg5Njc6ICQ/ID0g MQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxODky NyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp dGggY2hhciBhdG9kICgpOyBiZWxvdy4gICovDQojaW5jbHVkZSA8YXNzZXJ0 Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVmIF9fY3BsdXNwbHVzDQpl eHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovDQpjaGFyIGF0b2QgKCk7DQpjaGFyICgqZikgKCk7 DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1c3Bs dXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdfRFVN TVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWluICgp DQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1 bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVkIChf X3N0dWJfYXRvZCkgfHwgZGVmaW5lZCAoX19zdHViX19fYXRvZCkNCmNob2tl IG1lDQojZWxzZQ0KZiA9IGF0b2Q7DQojZW5kaWYNCg0KICA7DQogIHJldHVy biAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpjb25maWd1 cmU6MTg5MjE6IGNoZWNraW5nIGZvciBtZW1jcHkNCmNvbmZpZ3VyZToxODk2 NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1 DQpjb25maWd1cmU6MTg5Mzc6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciBidWlsdC1pbiBmdW5jdGlvbiBgbWVtY3B5Jw0KY29uZmlndXJlOjE4 OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25mdGVz dA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4Mzog cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIG1l bW1vdmUNCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJV R19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5j IC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTg5Njc6ICQ/ID0g MA0KY29uZmlndXJlOjE4OTcwOiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1 cmU6MTg5NzM6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IHll cw0KY29uZmlndXJlOjE4OTIxOiBjaGVja2luZyBmb3Igc2V0dXB0ZXJtDQpj b25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1P IC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxj cnlwdCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjY2xBWU9pLm86IEluIGZ1bmN0 aW9uIGBtYWluJzoNCi92YXIvdG1wLy9jY2NsQVlPaS5vKC50ZXh0KzB4Zik6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNldHVwdGVybScNCmNvbmZpZ3Vy ZToxODk2NzogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoNCiNsaW5lIDE4OTI3ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRl ZnMuaCINCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNy b3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBj YW4gY29uZmxpY3Qgd2l0aCBjaGFyIHNldHVwdGVybSAoKTsgYmVsb3cuICAq Lw0KI2luY2x1ZGUgPGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNp ZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1 c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBzZXR1 cHRlcm0gKCk7DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlf TUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0K IyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7 IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGli cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcg c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs aWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJfc2V0dXB0ZXJtKSB8fCBk ZWZpbmVkIChfX3N0dWJfX19zZXR1cHRlcm0pDQpjaG9rZSBtZQ0KI2Vsc2UN CmYgPSBzZXR1cHRlcm07DQojZW5kaWYNCg0KICA7DQogIHJldHVybiAwOw0K fQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTg5 MjE6IGNoZWNraW5nIGZvciBzdHJjYXNlY21wDQpjb25maWd1cmU6MTg5NjQ6 IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0K Y29uZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVz dCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZp Z3VyZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hl Y2tpbmcgZm9yIHNpZ2hvbGQNCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29u ZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg ICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQovdmFyL3RtcC8v Y2NGOGRvTnUubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zhci90bXAvL2Nj Rjhkb051Lm8oLnRleHQrMHhmKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg c2lnaG9sZCcNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAxDQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4OTI3ICJjb25maWd1cmUi DQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90 eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHNpZ2hv bGQgKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxhc3NlcnQuaD4NCi8qIE92 ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovDQojaWZkZWYgX19jcGx1c3BsdXMNCmV4dGVybiAiQyIN CiNlbmRpZg0KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8NCmNoYXIgc2lnaG9sZCAoKTsNCmNoYXIgKCpmKSAoKTsNCg0KI2lm ZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAg ICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlO KCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCi8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0K ICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9z aWdob2xkKSB8fCBkZWZpbmVkIChfX3N0dWJfX19zaWdob2xkKQ0KY2hva2Ug bWUNCiNlbHNlDQpmID0gc2lnaG9sZDsNCiNlbmRpZg0KDQogIDsNCiAgcmV0 dXJuIDA7DQp9DQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNvbmZp Z3VyZToxODkyMTogY2hlY2tpbmcgZm9yIHZpZGF0dHINCmNvbmZpZ3VyZTox ODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAg PiY1DQovdmFyL3RtcC8vY2NVbUFqY0QubzogSW4gZnVuY3Rpb24gYG1haW4n Og0KL3Zhci90bXAvL2NjVW1BamNELm8oLnRleHQrMHhmKTogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgdmlkYXR0cicNCmNvbmZpZ3VyZToxODk2NzogJD8g PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4 OTI3ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIHZpZGF0dHIgKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxh c3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19jcGx1c3Bs dXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0K ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgdmlkYXR0ciAoKTsNCmNoYXIg KCpmKSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBf X2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50 IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQN Cm1haW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRl ZmluZWQgKF9fc3R1Yl92aWRhdHRyKSB8fCBkZWZpbmVkIChfX3N0dWJfX192 aWRhdHRyKQ0KY2hva2UgbWUNCiNlbHNlDQpmID0gdmlkYXR0cjsNCiNlbmRp Zg0KDQogIDsNCiAgcmV0dXJuIDA7DQp9DQpjb25maWd1cmU6MTg5ODM6IHJl c3VsdDogbm8NCmNvbmZpZ3VyZToxODkyMTogY2hlY2tpbmcgZm9yIGxyYW5k NDgNCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19P RkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1s eiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMA0K Y29uZmlndXJlOjE4OTcwOiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6 MTg5NzM6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IHllcw0K Y29uZmlndXJlOjE4OTIxOiBjaGVja2luZyBmb3IgbG9jYWx0aW1lX3INCmNv bmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNy eXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMA0KY29uZmln dXJlOjE4OTcwOiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTg5NzM6 ICQ/ID0gMA0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IHllcw0KY29uZmln dXJlOjE4OTIxOiBjaGVja2luZyBmb3Igc2lnc2V0DQpjb25maWd1cmU6MTg5 NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1 PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4m NQ0KL3Zhci90bXAvL2Nja09rNE5XLm86IEluIGZ1bmN0aW9uIGBtYWluJzoN Ci92YXIvdG1wLy9jY2tPazROVy5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCBy ZWZlcmVuY2UgdG8gYHNpZ3NldCcNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAx DQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4OTI3 ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5c3Rl bSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIHNpZ3NldCAoKTsgYmVsb3cuICAqLw0KI2luY2x1ZGUgPGFzc2Vy dC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNpZmRlZiBfX2NwbHVzcGx1cw0K ZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLw0KY2hhciBzaWdzZXQgKCk7DQpjaGFyICgqZikg KCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1 c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdf RFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWlu ICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlz IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVk IChfX3N0dWJfc2lnc2V0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19zaWdzZXQp DQpjaG9rZSBtZQ0KI2Vsc2UNCmYgPSBzaWdzZXQ7DQojZW5kaWYNCg0KICA7 DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5v DQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBzaWd0aHJlYWRtYXNr DQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZG IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHog LWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjaG45eVF1Lm86IEluIGZ1 bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9jY2huOXlRdS5vKC50ZXh0KzB4 Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNpZ3RocmVhZG1hc2snDQpj b25maWd1cmU6MTg5Njc6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6DQojbGluZSAxODkyNyAiY29uZmlndXJlIg0KI2luY2x1ZGUg ImNvbmZkZWZzLmgiDQovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzaWd0aHJlYWRtYXNrICgp OyBiZWxvdy4gICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlk ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuICAqLw0KI2lmZGVmIF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5k aWYNCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov DQpjaGFyIHNpZ3RocmVhZG1hc2sgKCk7DQpjaGFyICgqZikgKCk7DQoNCiNp ZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAg ICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJ TigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQov KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQN CiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJf c2lndGhyZWFkbWFzaykgfHwgZGVmaW5lZCAoX19zdHViX19fc2lndGhyZWFk bWFzaykNCmNob2tlIG1lDQojZWxzZQ0KZiA9IHNpZ3RocmVhZG1hc2s7DQoj ZW5kaWYNCg0KICA7DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgz OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBw dGhyZWFkX3NpZ21hc2sNCmNvbmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRl c3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBj b25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6MTg5 Njc6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTcwOiB0ZXN0IC1zIGNvbmZ0ZXN0 DQpjb25maWd1cmU6MTg5NzM6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTgzOiBy ZXN1bHQ6IHllcw0KY29uZmlndXJlOjE4OTIxOiBjaGVja2luZyBmb3IgcHRo cmVhZF9zZXRwcmlvDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0 ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29u ZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjSGVM MGdyLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9jY0hlTDBn ci5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB0aHJl YWRfc2V0cHJpbycNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAxDQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4OTI3ICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5c3RlbSBoZWFkZXIg dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv dG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHB0 aHJlYWRfc2V0cHJpbyAoKTsgYmVsb3cuICAqLw0KI2luY2x1ZGUgPGFzc2Vy dC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNpZmRlZiBfX2NwbHVzcGx1cw0K ZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLw0KY2hhciBwdGhyZWFkX3NldHByaW8gKCk7DQpj aGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZk ZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAg IGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0K aW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh cmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNp ZiBkZWZpbmVkIChfX3N0dWJfcHRocmVhZF9zZXRwcmlvKSB8fCBkZWZpbmVk IChfX3N0dWJfX19wdGhyZWFkX3NldHByaW8pDQpjaG9rZSBtZQ0KI2Vsc2UN CmYgPSBwdGhyZWFkX3NldHByaW87DQojZW5kaWYNCg0KICA7DQogIHJldHVy biAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpjb25maWd1 cmU6MTg5MjE6IGNoZWNraW5nIGZvciBwdGhyZWFkX3NldHByaW9fbnANCmNv bmZpZ3VyZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNy eXB0IC1sbSAgPiY1DQovdmFyL3RtcC8vY2NlVk5YV0wubzogSW4gZnVuY3Rp b24gYG1haW4nOg0KL3Zhci90bXAvL2NjZVZOWFdMLm8oLnRleHQrMHhmKTog dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcHRocmVhZF9zZXRwcmlvX25wJw0K Y29uZmlndXJlOjE4OTY3OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOg0KI2xpbmUgMTg5MjcgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgcHRocmVhZF9zZXRwcmlv X25wICgpOyBiZWxvdy4gICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBP dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuICAqLw0KI2lmZGVmIF9fY3BsdXNwbHVzDQpleHRlcm4gIkMi DQojZW5kaWYNCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovDQpjaGFyIHB0aHJlYWRfc2V0cHJpb19ucCAoKTsNCmNoYXIgKCpm KSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2Nw bHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3 N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1h aW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBm b3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0byBhbHdh eXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmlu ZWQgKF9fc3R1Yl9wdGhyZWFkX3NldHByaW9fbnApIHx8IGRlZmluZWQgKF9f c3R1Yl9fX3B0aHJlYWRfc2V0cHJpb19ucCkNCmNob2tlIG1lDQojZWxzZQ0K ZiA9IHB0aHJlYWRfc2V0cHJpb19ucDsNCiNlbmRpZg0KDQogIDsNCiAgcmV0 dXJuIDA7DQp9DQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNvbmZp Z3VyZToxODkyMTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfc2V0c2NoZWRwYXJh bQ0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09G RiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6 IC1sY3J5cHQgLWxtICA+JjUNCi92YXIvdG1wLy9jY3hFdUd4QS5vOiBJbiBm dW5jdGlvbiBgbWFpbic6DQovdmFyL3RtcC8vY2N4RXVHeEEubygudGV4dCsw eGYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBwdGhyZWFkX3NldHNjaGVk cGFyYW0nDQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMQ0KY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxODkyNyAiY29uZmlndXJlIg0K I2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBTeXN0ZW0gaGVhZGVyIHRvIGRl ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwdGhyZWFk X3NldHNjaGVkcGFyYW0gKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxhc3Nl cnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlw ZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19jcGx1c3BsdXMN CmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgcHRocmVhZF9zZXRzY2hlZHBhcmFt ICgpOw0KY2hhciAoKmYpICgpOw0KDQojaWZkZWYgRjc3X0RVTU1ZX01BSU4N CiMgIGlmZGVmIF9fY3BsdXNwbHVzDQogICAgIGV4dGVybiAiQyINCiMgIGVu ZGlmDQogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9DQoj ZW5kaWYNCmludA0KbWFpbiAoKQ0Kew0KLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cw0KICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQogICAgc29tZXRoaW5nIHN0YXJ0 aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g ICovDQojaWYgZGVmaW5lZCAoX19zdHViX3B0aHJlYWRfc2V0c2NoZWRwYXJh bSkgfHwgZGVmaW5lZCAoX19zdHViX19fcHRocmVhZF9zZXRzY2hlZHBhcmFt KQ0KY2hva2UgbWUNCiNlbHNlDQpmID0gcHRocmVhZF9zZXRzY2hlZHBhcmFt Ow0KI2VuZGlmDQoNCiAgOw0KICByZXR1cm4gMDsNCn0NCmNvbmZpZ3VyZTox ODk4MzogcmVzdWx0OiBubw0KY29uZmlndXJlOjE4OTIxOiBjaGVja2luZyBm b3IgcHRocmVhZF9hdHRyX3NldHByaW8NCmNvbmZpZ3VyZToxODk2NDogY2Mg LW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1 bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQovdmFy L3RtcC8vY2NMNDc2clIubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3Zhci90 bXAvL2NjTDQ3NnJSLm8oLnRleHQrMHhmKTogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgcHRocmVhZF9hdHRyX3NldHByaW8nDQpjb25maWd1cmU6MTg5Njc6 ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSAxODkyNyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQov KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZs aWN0IHdpdGggY2hhciBwdGhyZWFkX2F0dHJfc2V0cHJpbyAoKTsgYmVsb3cu ICAqLw0KI2luY2x1ZGUgPGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdj YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8N CiNpZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBX ZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1 bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBw dGhyZWFkX2F0dHJfc2V0cHJpbyAoKTsNCmNoYXIgKCpmKSAoKTsNCg0KI2lm ZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAg ICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlO KCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCi8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0K ICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9w dGhyZWFkX2F0dHJfc2V0cHJpbykgfHwgZGVmaW5lZCAoX19zdHViX19fcHRo cmVhZF9hdHRyX3NldHByaW8pDQpjaG9rZSBtZQ0KI2Vsc2UNCmYgPSBwdGhy ZWFkX2F0dHJfc2V0cHJpbzsNCiNlbmRpZg0KDQogIDsNCiAgcmV0dXJuIDA7 DQp9DQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZTox ODkyMTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfYXR0cl9zZXRzY2hlZHBhcmFt DQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZG IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHog LWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjODh6ajNiLm86IEluIGZ1 bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9jYzg4emozYi5vKC50ZXh0KzB4 Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB0aHJlYWRfYXR0cl9zZXRz Y2hlZHBhcmFtJw0KY29uZmlndXJlOjE4OTY3OiAkPyA9IDENCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTg5MjcgImNvbmZpZ3Vy ZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0 byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLA0KICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgcHRo cmVhZF9hdHRyX3NldHNjaGVkcGFyYW0gKCk7IGJlbG93LiAgKi8NCiNpbmNs dWRlIDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQojaWZkZWYgX19j cGx1c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyogV2UgdXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg Z2NjMg0KICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgcHRocmVhZF9hdHRy X3NldHNjaGVkcGFyYW0gKCk7DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBG NzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0 ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsg cmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQovKiBUaGUg R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj aCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJfcHRocmVh ZF9hdHRyX3NldHNjaGVkcGFyYW0pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3B0 aHJlYWRfYXR0cl9zZXRzY2hlZHBhcmFtKQ0KY2hva2UgbWUNCiNlbHNlDQpm ID0gcHRocmVhZF9hdHRyX3NldHNjaGVkcGFyYW07DQojZW5kaWYNCg0KICA7 DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5v DQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBwdGhyZWFkX2F0dHJf Y3JlYXRlDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERC VUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3Qu YyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjbFlaSGNULm86 IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9jY2xZWkhjVC5vKC50 ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB0aHJlYWRfYXR0 cl9jcmVhdGUnDQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMQ0KY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxODkyNyAiY29uZmlndXJl Ig0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBTeXN0ZW0gaGVhZGVyIHRv IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwdGhy ZWFkX2F0dHJfY3JlYXRlICgpOyBiZWxvdy4gICovDQojaW5jbHVkZSA8YXNz ZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVmIF9fY3BsdXNwbHVz DQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIHB0aHJlYWRfYXR0cl9jcmVhdGUg KCk7DQpjaGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0K IyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5k aWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNl bmRpZg0KaW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz DQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAg Ki8NCiNpZiBkZWZpbmVkIChfX3N0dWJfcHRocmVhZF9hdHRyX2NyZWF0ZSkg fHwgZGVmaW5lZCAoX19zdHViX19fcHRocmVhZF9hdHRyX2NyZWF0ZSkNCmNo b2tlIG1lDQojZWxzZQ0KZiA9IHB0aHJlYWRfYXR0cl9jcmVhdGU7DQojZW5k aWYNCg0KICA7DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiBy ZXN1bHQ6IG5vDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBwdGhy ZWFkX2dldHNlcXVlbmNlX25wDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNv bmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAv L2NjY0tYMFBILm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9j Y2NLWDBQSC5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YHB0aHJlYWRfZ2V0c2VxdWVuY2VfbnAnDQpjb25maWd1cmU6MTg5Njc6ICQ/ ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAx ODkyNyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBT eXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0 IHdpdGggY2hhciBwdGhyZWFkX2dldHNlcXVlbmNlX25wICgpOyBiZWxvdy4g ICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2Nj MiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0K I2lmZGVmIF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdl IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIHB0 aHJlYWRfZ2V0c2VxdWVuY2VfbnAgKCk7DQpjaGFyICgqZikgKCk7DQoNCiNp ZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAg ICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJ TigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQov KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQN CiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJf cHRocmVhZF9nZXRzZXF1ZW5jZV9ucCkgfHwgZGVmaW5lZCAoX19zdHViX19f cHRocmVhZF9nZXRzZXF1ZW5jZV9ucCkNCmNob2tlIG1lDQojZWxzZQ0KZiA9 IHB0aHJlYWRfZ2V0c2VxdWVuY2VfbnA7DQojZW5kaWYNCg0KICA7DQogIHJl dHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpjb25m aWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBwdGhyZWFkX2F0dHJfc2V0c3Rh Y2tzaXplDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNvbmZ0ZXN0ICAtRERC VUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29uZnRlc3Qu YyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAvL2NjZHlNNFdLLm86 IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9jY2R5TTRXSy5vKC50 ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB0aHJlYWRfYXR0 cl9zZXRzdGFja3NpemUnDQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMQ0KY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxODkyNyAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBTeXN0ZW0gaGVh ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh ciBwdGhyZWFkX2F0dHJfc2V0c3RhY2tzaXplICgpOyBiZWxvdy4gICovDQoj aW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVm IF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIHB0aHJlYWRf YXR0cl9zZXRzdGFja3NpemUgKCk7DQpjaGFyICgqZikgKCk7DQoNCiNpZmRl ZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAg ZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigp IHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0KaW50DQptYWluICgpDQp7DQovKiBU aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3 aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAg ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBu YW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0dWJfcHRo cmVhZF9hdHRyX3NldHN0YWNrc2l6ZSkgfHwgZGVmaW5lZCAoX19zdHViX19f cHRocmVhZF9hdHRyX3NldHN0YWNrc2l6ZSkNCmNob2tlIG1lDQojZWxzZQ0K ZiA9IHB0aHJlYWRfYXR0cl9zZXRzdGFja3NpemU7DQojZW5kaWYNCg0KICA7 DQogIHJldHVybiAwOw0KfQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5v DQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NvbmRh dHRyX2NyZWF0ZQ0KY29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAg LUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0 ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCi92YXIvdG1wLy9jY0ZiNWlN Ty5vOiBJbiBmdW5jdGlvbiBgbWFpbic6DQovdmFyL3RtcC8vY2NGYjVpTU8u bygudGV4dCsweGYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBwdGhyZWFk X2NvbmRhdHRyX2NyZWF0ZScNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAxDQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE4OTI3ICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm ZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj aGFyIHB0aHJlYWRfY29uZGF0dHJfY3JlYXRlICgpOyBiZWxvdy4gICovDQoj aW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVm IF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzINCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIHB0aHJlYWRf Y29uZGF0dHJfY3JlYXRlICgpOw0KY2hhciAoKmYpICgpOw0KDQojaWZkZWYg Rjc3X0RVTU1ZX01BSU4NCiMgIGlmZGVmIF9fY3BsdXNwbHVzDQogICAgIGV4 dGVybiAiQyINCiMgIGVuZGlmDQogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7 IHJldHVybiAxOyB9DQojZW5kaWYNCmludA0KbWFpbiAoKQ0Kew0KLyogVGhl IEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp Y2ggaXQgaW1wbGVtZW50cw0KICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5P U1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQogICAg c29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovDQojaWYgZGVmaW5lZCAoX19zdHViX3B0aHJl YWRfY29uZGF0dHJfY3JlYXRlKSB8fCBkZWZpbmVkIChfX3N0dWJfX19wdGhy ZWFkX2NvbmRhdHRyX2NyZWF0ZSkNCmNob2tlIG1lDQojZWxzZQ0KZiA9IHB0 aHJlYWRfY29uZGF0dHJfY3JlYXRlOw0KI2VuZGlmDQoNCiAgOw0KICByZXR1 cm4gMDsNCn0NCmNvbmZpZ3VyZToxODk4MzogcmVzdWx0OiBubw0KY29uZmln dXJlOjE4OTIxOiBjaGVja2luZyBmb3Igcndsb2NrX2luaXQNCmNvbmZpZ3Vy ZToxODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUg LW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1s bSAgPiY1DQovdmFyL3RtcC8vY2N1Sk9IaWMubzogSW4gZnVuY3Rpb24gYG1h aW4nOg0KL3Zhci90bXAvL2NjdUpPSGljLm8oLnRleHQrMHhmKTogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgcndsb2NrX2luaXQnDQpjb25maWd1cmU6MTg5 Njc6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQoj bGluZSAxODkyNyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgi DQovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNv bmZsaWN0IHdpdGggY2hhciByd2xvY2tfaW5pdCAoKTsgYmVsb3cuICAqLw0K I2luY2x1ZGUgPGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiNpZmRl ZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0KI2VuZGlmDQovKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciByd2xvY2tf aW5pdCAoKTsNCmNoYXIgKCpmKSAoKTsNCg0KI2lmZGVmIEY3N19EVU1NWV9N QUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRlcm4gIkMiDQoj ICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsg fQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCi8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBz dGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9yd2xvY2tfaW5pdCkgfHwg ZGVmaW5lZCAoX19zdHViX19fcndsb2NrX2luaXQpDQpjaG9rZSBtZQ0KI2Vs c2UNCmYgPSByd2xvY2tfaW5pdDsNCiNlbmRpZg0KDQogIDsNCiAgcmV0dXJu IDA7DQp9DQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogbm8NCmNvbmZpZ3Vy ZToxODkyMTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfcndsb2NrX3JkbG9jaw0K Y29uZmlndXJlOjE4OTY0OiBjYyAtbyBjb25mdGVzdCAgLUREQlVHX09GRiAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1s Y3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxODk2NzogJD8gPSAwDQpjb25m aWd1cmU6MTg5NzA6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZpZ3VyZToxODk3 MzogJD8gPSAwDQpjb25maWd1cmU6MTg5ODM6IHJlc3VsdDogeWVzDQpjb25m aWd1cmU6MTg5MjE6IGNoZWNraW5nIGZvciBmY2htb2QNCmNvbmZpZ3VyZTox ODk2NDogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAg PiY1DQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMA0KY29uZmlndXJlOjE4OTcw OiB0ZXN0IC1zIGNvbmZ0ZXN0DQpjb25maWd1cmU6MTg5NzM6ICQ/ID0gMA0K Y29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE4OTIx OiBjaGVja2luZyBmb3IgZ2V0cGFzcw0KY29uZmlndXJlOjE4OTY0OiBjYyAt byBjb25mdGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvICAgIGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZp Z3VyZToxODk2NzogJD8gPSAwDQpjb25maWd1cmU6MTg5NzA6IHRlc3QgLXMg Y29uZnRlc3QNCmNvbmZpZ3VyZToxODk3MzogJD8gPSAwDQpjb25maWd1cmU6 MTg5ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTg5MjE6IGNoZWNraW5n IGZvciBnZXRwYXNzcGhyYXNlDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNv bmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zhci90bXAv L2NjTXRBRUp5Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIvdG1wLy9j Y010QUVKeS5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YGdldHBhc3NwaHJhc2UnDQpjb25maWd1cmU6MTg5Njc6ICQ/ID0gMQ0KY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxODkyNyAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBTeXN0ZW0gaGVh ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh ciBnZXRwYXNzcGhyYXNlICgpOyBiZWxvdy4gICovDQojaW5jbHVkZSA8YXNz ZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KI2lmZGVmIF9fY3BsdXNwbHVz DQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIGdldHBhc3NwaHJhc2UgKCk7DQpj aGFyICgqZikgKCk7DQoNCiNpZmRlZiBGNzdfRFVNTVlfTUFJTg0KIyAgaWZk ZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAgZW5kaWYNCiAg IGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0NCiNlbmRpZg0K aW50DQptYWluICgpDQp7DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh cmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNp ZiBkZWZpbmVkIChfX3N0dWJfZ2V0cGFzc3BocmFzZSkgfHwgZGVmaW5lZCAo X19zdHViX19fZ2V0cGFzc3BocmFzZSkNCmNob2tlIG1lDQojZWxzZQ0KZiA9 IGdldHBhc3NwaHJhc2U7DQojZW5kaWYNCg0KICA7DQogIHJldHVybiAwOw0K fQ0KY29uZmlndXJlOjE4OTgzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTg5 MjE6IGNoZWNraW5nIGZvciBpbml0Z3JvdXBzDQpjb25maWd1cmU6MTg5NjQ6 IGNjIC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0K Y29uZmlndXJlOjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVz dCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZp Z3VyZToxODk4MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODkyMTogY2hl Y2tpbmcgZm9yIG1sb2NrYWxsDQpjb25maWd1cmU6MTg5NjQ6IGNjIC1vIGNv bmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KY29uZmlndXJl OjE4OTY3OiAkPyA9IDANCmNvbmZpZ3VyZToxODk3MDogdGVzdCAtcyBjb25m dGVzdA0KY29uZmlndXJlOjE4OTczOiAkPyA9IDANCmNvbmZpZ3VyZToxODk4 MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxOTAwMDogY2hlY2tpbmcgZm9y IGZzZWVrbw0KY29uZmlndXJlOjE5MDQzOiBjYyAtbyBjb25mdGVzdCAgLURE QlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAgIGNvbmZ0ZXN0 LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZToxOTA0NjogJD8g PSAwDQpjb25maWd1cmU6MTkwNDk6IHRlc3QgLXMgY29uZnRlc3QNCmNvbmZp Z3VyZToxOTA1MjogJD8gPSAwDQpjb25maWd1cmU6MTkwNjI6IHJlc3VsdDog eWVzDQpjb25maWd1cmU6MTkwODY6IGNoZWNraW5nIGZvciBkbG9wZW4NCmNv bmZpZ3VyZToxOTEyOTogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNy eXB0IC1sbSAgID4mNQ0KY29uZmlndXJlOjE5MTMyOiAkPyA9IDANCmNvbmZp Z3VyZToxOTEzNTogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE5MTM4 OiAkPyA9IDANCmNvbmZpZ3VyZToxOTE0ODogcmVzdWx0OiB5ZXMNCmNvbmZp Z3VyZToxOTA4NjogY2hlY2tpbmcgZm9yIGRsZXJyb3INCmNvbmZpZ3VyZTox OTEyOTogY2MgLW8gY29uZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAgICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAg ID4mNQ0KY29uZmlndXJlOjE5MTMyOiAkPyA9IDANCmNvbmZpZ3VyZToxOTEz NTogdGVzdCAtcyBjb25mdGVzdA0KY29uZmlndXJlOjE5MTM4OiAkPyA9IDAN CmNvbmZpZ3VyZToxOTE0ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxOTE2 MjogY2hlY2tpbmcgc3R5bGUgb2YgZ2V0aG9zdCogcm91dGluZXMNCmNvbmZp Z3VyZToxOTIwNjogYysrIC1jICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1 PXBlbnRpdW1wcm8gLWZlbGlkZS1jb25zdHJ1Y3RvcnMgLWZuby1ydHRpIC1m bm8tZXhjZXB0aW9ucyAgLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMgLWZuby1l eGNlcHRpb25zIC1mbm8tcnR0aSAtRE1ZU1FMRF9ORVRfUkVUUllfQ09VTlQ9 MTAwMDAwMCAgY29uZnRlc3QuY2MgPiY1DQpjb25maWd1cmU6IEluIGZ1bmN0 aW9uIGBpbnQgbWFpbigpJzoNCmNvbmZpZ3VyZToxOTE5OTogZXJyb3I6IGBn ZXRob3N0YnlhZGRyX3InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSB0aGlzIGZ1 bmN0aW9uKQ0KY29uZmlndXJlOjE5MTk5OiBlcnJvcjogKEVhY2ggdW5kZWNs YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgDQog ICBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQ0KY29uZmlndXJlOjE5 MjA5OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0K I2xpbmUgMTkxNzcgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5o Ig0KI3VuZGVmIGlubGluZQ0KI2lmICFkZWZpbmVkKFNDTykgJiYgIWRlZmlu ZWQoX19vc2ZfXykgJiYgIWRlZmluZWQoX1JFRU5UUkFOVCkNCiNkZWZpbmUg X1JFRU5UUkFOVA0KI2VuZGlmDQojaW5jbHVkZSA8cHRocmVhZC5oPg0KI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4N CiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+DQojaW5jbHVkZSA8YXJwYS9pbmV0 Lmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpZmRlZiBGNzdfRFVNTVlfTUFJ Tg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAg ZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0N CiNlbmRpZg0KaW50DQptYWluICgpDQp7DQppbnQgc2tyOw0KIHN0cnVjdCBo b3N0ZW50ICpmb28gPSBnZXRob3N0YnlhZGRyX3IoKGNvbnN0IGNoYXIgKikg MCwNCiAgMCwgMCwgKHN0cnVjdCBob3N0ZW50ICopIDAsIChjaGFyICopIE5V TEwsICAwLCAmc2tyKTsgcmV0dXJuIChmb28gPT0gMCk7DQogIDsNCiAgcmV0 dXJuIDA7DQp9DQpjb25maWd1cmU6MTkyMjU6IHJlc3VsdDogb3RoZXINCmNv bmZpZ3VyZToxOTI0NjogY2hlY2tpbmcgc3R5bGUgb2YgZ2V0aG9zdG5hbWVf ciByb3V0aW5lcw0KY29uZmlndXJlOjE5MjkwOiBjKysgLWMgIC1EREJVR19P RkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtZmVsaWRlLWNvbnN0cnVj dG9ycyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAtZm5vLWltcGxpY2l0 LXRlbXBsYXRlcyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1ydHRpIC1ETVlTUUxE X05FVF9SRVRSWV9DT1VOVD0xMDAwMDAwICBjb25mdGVzdC5jYyA+JjUNCmNv bmZpZ3VyZTogSW4gZnVuY3Rpb24gYGludCBtYWluKCknOg0KY29uZmlndXJl OjE5MjgzOiBlcnJvcjogYGdldGhvc3RieW5hbWVfcicgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pDQpjb25maWd1cmU6MTkyODM6IGVy cm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciANCiAgIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bi4pDQpjb25maWd1cmU6MTkyOTM6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxOTI2MCAiY29uZmlndXJlIg0KI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQojdW5kZWYgaW5saW5lDQojaWYgIWRlZmlu ZWQoU0NPKSAmJiAhZGVmaW5lZChfX29zZl9fKSAmJiAhZGVmaW5lZChfUkVF TlRSQU5UKQ0KI2RlZmluZSBfUkVFTlRSQU5UDQojZW5kaWYNCiNpbmNsdWRl IDxwdGhyZWFkLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVk ZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNp bmNsdWRlIDxhcnBhL2luZXQuaD4NCiNpbmNsdWRlIDxuZXRkYi5oPg0KI2lm ZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAg ICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlO KCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCmlu dCBza3I7DQoNCiBza3IgPSBnZXRob3N0YnluYW1lX3IoKGNvbnN0IGNoYXIg KikgMCwNCiAgKHN0cnVjdCBob3N0ZW50KikgMCwgKGNoYXIqKSAwLCAwLCAo c3RydWN0IGhvc3RlbnQgKiopIDAsICZza3IpOw0KICA7DQogIHJldHVybiAw Ow0KfQ0KY29uZmlndXJlOjE5MzA5OiByZXN1bHQ6IG90aGVyDQpjb25maWd1 cmU6MTkzMjg6IGNoZWNraW5nIDMgYXJndW1lbnQgdG8gZ2V0aG9zdG5hbWVf ciByb3V0aW5lcw0KY29uZmlndXJlOjE5MzcxOiBjKysgLWMgIC1EREJVR19P RkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtZmVsaWRlLWNvbnN0cnVj dG9ycyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAtZm5vLWltcGxpY2l0 LXRlbXBsYXRlcyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1ydHRpIC1ETVlTUUxE X05FVF9SRVRSWV9DT1VOVD0xMDAwMDAwICBjb25mdGVzdC5jYyA+JjUNCmNv bmZpZ3VyZTogSW4gZnVuY3Rpb24gYGludCBtYWluKCknOg0KY29uZmlndXJl OjE5MzY0OiBlcnJvcjogYGdldGhvc3RieW5hbWVfcicgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pDQpjb25maWd1cmU6MTkzNjQ6IGVy cm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciANCiAgIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bi4pDQpjb25maWd1cmU6MTkzNzQ6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxOTM0MiAiY29uZmlndXJlIg0KI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQojdW5kZWYgaW5saW5lDQojaWYgIWRlZmlu ZWQoU0NPKSAmJiAhZGVmaW5lZChfX29zZl9fKSAmJiAhZGVmaW5lZChfUkVF TlRSQU5UKQ0KI2RlZmluZSBfUkVFTlRSQU5UDQojZW5kaWYNCiNpbmNsdWRl IDxwdGhyZWFkLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVk ZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNp bmNsdWRlIDxhcnBhL2luZXQuaD4NCiNpbmNsdWRlIDxuZXRkYi5oPg0KI2lm ZGVmIEY3N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAg ICBleHRlcm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlO KCkgeyByZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCmlu dCBza3I7DQoNCiBza3IgPSBnZXRob3N0YnluYW1lX3IoKGNvbnN0IGNoYXIg KikgMCwgKHN0cnVjdCBob3N0ZW50KikgMCwgKHN0cnVjdCBob3N0ZW50X2Rh dGEqKSAwKTsNCiAgOw0KICByZXR1cm4gMDsNCn0NCmNvbmZpZ3VyZToxOTM5 MDogcmVzdWx0OiBjaGFyDQpjb25maWd1cmU6MTk1MzQ6IGNoZWNraW5nICJh cmdzIHRvIHJlYWRkaXJfciINCmNvbmZpZ3VyZToxOTU2NDogY2MgLW8gY29u ZnRlc3QgIC1EREJVR19PRkYgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAg ICBjb25mdGVzdC5jIC1seiAtbGNyeXB0IC1sbSAgPiY1DQpjb25maWd1cmU6 MTk1Njc6ICQ/ID0gMA0KY29uZmlndXJlOjE5NTcwOiB0ZXN0IC1zIGNvbmZ0 ZXN0DQpjb25maWd1cmU6MTk1NzM6ICQ/ID0gMA0KY29uZmlndXJlOjE5NTgz OiByZXN1bHQ6IFBPU0lYDQpjb25maWd1cmU6MTk1OTQ6IGNoZWNraW5nICJz dHlsZSBvZiBzaWd3YWl0Ig0KY29uZmlndXJlOjE5NjI3OiBjYyAtbyBjb25m dGVzdCAgLUREQlVHX09GRiAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvICAg IGNvbmZ0ZXN0LmMgLWx6IC1sY3J5cHQgLWxtICA+JjUNCmNvbmZpZ3VyZTox OTYzMDogJD8gPSAwDQpjb25maWd1cmU6MTk2MzM6IHRlc3QgLXMgY29uZnRl c3QNCmNvbmZpZ3VyZToxOTYzNjogJD8gPSAwDQpjb25maWd1cmU6MTk2NDY6 IHJlc3VsdDogUE9TSVgNCmNvbmZpZ3VyZToxOTcyMzogY2hlY2tpbmcgImZv ciBwdGhyZWFkX2F0dHJfc2V0c2NvcGUiDQpjb25maWd1cmU6MTk3NTI6IGNj IC1vIGNvbmZ0ZXN0ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gICAgY29uZnRlc3QuYyAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Zh ci90bXAvL2NjUXVjUEhNLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCi92YXIv dG1wLy9jY1F1Y1BITS5vKC50ZXh0KzB4MTgpOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBwdGhyZWFkX2F0dHJfc2V0c2NvcGUnDQpjb25maWd1cmU6MTk3 NTU6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQoj bGluZSAxOTcyOSAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgi DQojaWYgIWRlZmluZWQoU0NPKSAmJiAhZGVmaW5lZChfX29zZl9fKQ0KI2Rl ZmluZSBfUkVFTlRSQU5UDQojZW5kaWYNCiNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTDQojaW5jbHVkZSA8cHRocmVhZC5oPg0KI2lmZGVmIEY3 N19EVU1NWV9NQUlODQojICBpZmRlZiBfX2NwbHVzcGx1cw0KICAgICBleHRl cm4gIkMiDQojICBlbmRpZg0KICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyBy ZXR1cm4gMTsgfQ0KI2VuZGlmDQppbnQNCm1haW4gKCkNCnsNCnB0aHJlYWRf YXR0cl90IHRocl9hdHRyOw0KcHRocmVhZF9hdHRyX3NldHNjb3BlKCZ0aHJf YXR0ciwwKTsNCiAgOw0KICByZXR1cm4gMDsNCn0NCmNvbmZpZ3VyZToxOTc3 MTogcmVzdWx0OiBubw0KY29uZmlndXJlOjE5NzgyOiBjaGVja2luZyAiY2Fu IG5ldGluZXQgZmlsZXMgYmUgaW5jbHVkZWQiDQpjb25maWd1cmU6MTk4MDg6 IGNjIC1jICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8g ICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjE5ODExOiAkPyA9IDANCmNv bmZpZ3VyZToxOTgxNDogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6 MTk4MTc6ICQ/ID0gMA0KY29uZmlndXJlOjE5ODMzOiByZXN1bHQ6ICJ5ZXMi DQpjb25maWd1cmU6MTk5MzA6IGNoZWNraW5nICJjaGFyYWN0ZXIgc2V0cyIN CmNvbmZpZ3VyZToyMDE0MjogcmVzdWx0OiBkZWZhdWx0OiBsYXRpbjE7IGNv bXBpbGVkIGluOiBsYXRpbjEgDQpjb25maWd1cmU6MjAxNzQ6IGNoZWNraW5n IGZvciBCZXJrZWxleURCDQpjb25maWd1cmU6MjAxODg6IHJlc3VsdDogc2Vh cmNoaW5nLi4uDQpjb25maWd1cmU6MjA4Nzg6IHJlc3VsdDogQ29tcGlsaW5n IEJlcmVrZWxleSBEQiBpbiAnYmRiJw0KY29uZmlndXJlOjIwOTAyOiBjaGVj a2luZyBmb3IgSW5ub2RiDQpjb25maWd1cmU6MjA5MTA6IHJlc3VsdDogVXNp bmcgSW5ub2RiDQpjb25maWd1cmU6MjA5NTc6IGNoZWNraW5nIGZvciBhaW9f cmVhZCBpbiAtbHJ0DQpjb25maWd1cmU6MjA5OTA6IGNjIC1vIGNvbmZ0ZXN0 ICAtRERCVUdfT0ZGIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gICAgY29u ZnRlc3QuYyAtbHJ0ICAtbHogLWxjcnlwdCAtbG0gID4mNQ0KL3Vzci9iaW4v bGQ6IGNhbm5vdCBmaW5kIC1scnQNCmNvbmZpZ3VyZToyMDk5MzogJD8gPSAx DQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDIwOTY1 ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KLyogT3Zl cnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLiAgKi8NCiNpZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJDIg0K I2VuZGlmDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku ICAqLw0KY2hhciBhaW9fcmVhZCAoKTsNCiNpZmRlZiBGNzdfRFVNTVlfTUFJ Tg0KIyAgaWZkZWYgX19jcGx1c3BsdXMNCiAgICAgZXh0ZXJuICJDIg0KIyAg ZW5kaWYNCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0N CiNlbmRpZg0KaW50DQptYWluICgpDQp7DQphaW9fcmVhZCAoKTsNCiAgOw0K ICByZXR1cm4gMDsNCn0NCmNvbmZpZ3VyZToyMTAxMDogcmVzdWx0OiBubw0K Y29uZmlndXJlOjIxMDM3OiBjaGVja2luZyBmb3IgR2VtaW5pIERCDQpjb25m aWd1cmU6MjEwNDU6IHJlc3VsdDogTm90IHVzaW5nIEdlbWluaSBEQg0KY29u ZmlndXJlOjIxMTM4OiBlcnJvcjogY291bGQgbm90IGNvbmZpZ3VyZSBCZXJr ZWxleSBEQg0KDQojIyAtLS0tLS0tLS0tLS0tLS0tICMjDQojIyBDYWNoZSB2 YXJpYWJsZXMuICMjDQojIyAtLS0tLS0tLS0tLS0tLS0tICMjDQoNCmFjX2N2 X2Z1bmNfZnNlZWtvPXllcw0KYWNfY3ZfZnVuY19scmFuZDQ4PXllcw0KYWNf Y3ZfZnVuY190ZW1wbmFtPXllcw0KYWNfY3ZfZnVuY19mY29udmVydD1ubw0K YWNfY3ZfY19zdGFja19kaXJlY3Rpb249LTENCmFjX2N2X3NpemVvZl9vZmZf dD04DQphY19jdl9zaXplb2ZfaW50PTQNCmFjX2N2X3R5cGVfc2l6ZV90PXll cw0KYWNfY3ZfcGF0aF9DSE1PRD0vYmluL2NobW9kDQphbV9jdl9DQ19kZXBl bmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzDQphY19jdl9saWJfcnRfYWlv X3JlYWQ9bm8NCmFjX2N2X2Z1bmNfcHRocmVhZF9zZXRwcmlvPW5vDQphY19j dl9mdW5jX2JmaWxsPW5vDQphY19jdl9mdW5jX2dldGN3ZD15ZXMNCmFjX2N2 X2hlYWRlcl90ZXJtYml0c19oPW5vDQpteXNxbF9jdl90aW1lc3BlY190cz1u bw0KYWNfY3ZfaGVhZGVyX2NyeXB0X2g9bm8NCmFjX2N2X2hlYWRlcl9uZXRp bmV0X2luX2g9eWVzDQphY19jdl9oZWFkZXJfc2VsZWN0X2g9bm8NCmFjX2N2 X2Vudl9DWFhGTEFHU192YWx1ZT0nLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtZmVsaWRlLWNvbnN0cnVjdG9ycyAtZm5vLXJ0dGkgLWZuby1leGNlcHRp b25zJw0KYWNfY3ZfZnVuY19nZXRwd3VpZD15ZXMNCmFjX2N2X2Z1bmNfZmlu aXRlPXllcw0KYWNfY3ZfaGVhZGVyX2dycF9oPXllcw0KYWNfY3ZfaGVhZGVy X3N5c19uZGlyX2g9bm8NCmFjX2N2X2hlYWRlcl92YXJhcmdzX2g9bm8NCmFj X2N2X2NfYmlnZW5kaWFuPW5vDQphY19jdl9zeXNfbGFyZ2VmaWxlX3NvdXJj ZT1ubw0KYWNfY3ZfZnVuY19pbml0Z3JvdXBzPXllcw0KYWNfY3ZfZnVuY19w dGhyZWFkX2F0dHJfY3JlYXRlPW5vDQphY19jdl9mdW5jX3JpbnQ9eWVzDQph Y19jdl9mdW5jX3NlbGVjdD15ZXMNCmFjX2N2X2Z1bmNfY3J5cHQ9eWVzDQph Y19jdl9wYXRoX0xOX0NQX0Y9L2Jpbi9sbg0KYWNfY3ZfaGVhZGVyX3N0ZGxp Yl9oPXllcw0KbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRNQUdJQ19DTUQnDQph Y19jdl9mdW5jX21lbW1vdmU9eWVzDQphY19jdl9mdW5jX3N0cnRvdWw9eWVz DQphY19jdl9mdW5jX3N0cnRvbD15ZXMNCmFjX2N2X2Z1bmNfcHJlYWQ9eWVz DQphY19jdl9mdW5jX19kb3BybnQ9bm8NCmFjX2N2X3NpemVvZl9sb25nX2xv bmc9OA0KYWNfY3ZfaGVhZGVyX3N5c191dGltZV9oPW5vDQphY19jdl9oZWFk ZXJfcHdkX2g9eWVzDQphY19jdl9wYXRoX3VuYW1lX3Byb2c9L3Vzci9iaW4v dW5hbWUNCm15c3FsX2N2X2dldGhvc3Rfc3R5bGU9b3RoZXINCmFjX2N2X2Z1 bmNfZGxvcGVuPXllcw0KYWNfY3ZfZnVuY19nZXRwYXNzPXllcw0KYWNfY3Zf ZnVuY19zaWd0aHJlYWRtYXNrPW5vDQphY19jdl9mdW5jX2xvbmdqbXA9eWVz DQphY19jdl9mdW5jX2FsYXJtPXllcw0KbXlzcWxfY3ZfZGlyZW50X2hhc19k aW5vPXllcw0KYWNfY3Zfc2l6ZW9mX2NoYXI9MQ0KbXlzcWxfY3ZfY29tcHJl c3M9eWVzDQphY19jdl9wcm9nX2NjX2c9eWVzDQphY19jdl9lbnZfTERGTEFH U19zZXQ9DQpteXNxbF9jdl9zaWd3YWl0PVBPU0lYDQphY19jdl9mdW5jX3J3 bG9ja19pbml0PW5vDQphY19jdl9mdW5jX3B0aHJlYWRfc2V0cHJpb19ucD1u bw0KYWNfY3ZfaGVhZGVyX3N0ZGFyZ19oPXllcw0KYWNfY3Zfc2VhcmNoX29w ZW5kaXI9J25vbmUgcmVxdWlyZWQnDQphY19jdl9zeXNfbGFyZ2VfZmlsZXM9 bm8NCmx0X2N2X3Byb2dfY2NfY2FuX2J1aWxkX3NoYXJlZD15ZXMNCmFjX2N2 X2NfY29tcGlsZXJfZ251PXllcw0KYWNfY3ZfZXhlZXh0PQ0KYWNfY3ZfZW52 X0NGTEFHU19zZXQ9c2V0DQphY19jdl9mdW5jX2ZwcmVzZXRzdGlja3k9bm8N CmFjX2N2X2Z1bmNfc2V0bG9jYWxlPXllcw0KYWNfY3ZfaGVhZGVyX2RpcmVu dF9oPXllcw0KYWNfY3ZfaGVhZGVyX2RpcmVudF9kaXJlbnRfaD15ZXMNCmFj X2N2X2Z1bmNfZGxlcnJvcj15ZXMNCmFjX2N2X2Z1bmNfbW1hcF9maXhlZF9t YXBwZWQ9eWVzDQpteXNxbF9jdl90aW9jZ3dpbnN6X2luX2lvY3RsPXllcw0K YWNfY3ZfcHJvZ19DWFg9YysrDQphY19jdl9mdW5jX2Noc2l6ZT1ubw0KbXlz cWxfY3ZfdHlwZV9xc29ydD12b2lkDQphY19jdl9oZWFkZXJfc3lzX2Rpcl9o PXllcw0KYWNfY3ZfZnVuY19yZWFkbGluaz15ZXMNCm15c3FsX2N2X3Rlcm1j YXBfbGliPWxpYm5jdXJzZXMNCm15c3FsX2N2X2J0eXBlX2xhc3RfYXJnX2Fj Y2VwdD1zb2NrbGVuX3QNCmFjX2N2X2Z1bmNfYmluZD15ZXMNCmFjX2N2X2hl YWRlcl9zeXNfd2FpdF9oPXllcw0KYWNfY3Zfc3lzX2xhcmdlZmlsZV9MREZM QUdTPW5vDQphY19jdl9wYXRoX0hPU1ROQU1FPS9iaW4vaG9zdG5hbWUNCmFj X2N2X3Byb2dfUkFOTElCPXJhbmxpYg0KYWNfY3ZfZW52X0NQUF92YWx1ZT0N CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9DQpteXNxbF9jdl9wdGhyZWFkX2F0 dHJfc2V0c2NvcGU9bm8NCmFjX2N2X2Z1bmNfc3RyY2FzZWNtcD15ZXMNCmFj X2N2X2hlYWRlcl9zeXNfcHRlbV9oPW5vDQphY19jdl9zeXNfbGFyZ2VmaWxl X0NGTEFHUz1ubw0KbHRfY3ZfcHJvZ19jY19zdGF0aWNfd29ya3M9eWVzDQps dF9jdl9wcm9nX2NjX25vX2J1aWx0aW49DQphY19jdl9mdW5jX3ZpZGF0dHI9 bm8NCmFjX2N2X2Z1bmNfc29ja2V0PXllcw0KbXlzcWxfY3ZfdGlvY3N0YXRf aW5faW9jdGw9eWVzDQphY19jdl90eXBlX2xvbmc9eWVzDQphY19jdl9saWJf bnNsX3JfZ2V0aG9zdGJ5bmFtZV9yPW5vDQphY19jdl9oZWFkZXJfZmxvYXRf aD15ZXMNCmx0X2N2X3Byb2dfY2Nfc2hsaWI9DQphY19jdl9jeHhfY29tcGls ZXJfZ251PXllcw0KYWNfY3ZfZW52X0NYWF9zZXQ9c2V0DQphY19jdl9mdW5j X3NldHVwdGVybT1ubw0KYWNfY3ZfZnVuY19zbnByaW50Zj15ZXMNCm15c3Fs X2N2X3ZvaWRfc2lnaGFuZGxlcj15ZXMNCmFjX2N2X3Vsb25nPW5vDQphY19j dl9oZWFkZXJfZmNudGxfaD15ZXMNCmFjX2N2X3BhdGhfU0VEPS91c3IvYmlu L3NlZA0KbHRfY3ZfcHJvZ19jY19zdGF0aWM9LXN0YXRpYw0KYWNfY3ZfZW52 X2hvc3RfYWxpYXNfc2V0PXNldA0KYWNfY3ZfZnVuY19wdGhyZWFkX2F0dHJf c2V0c2NoZWRwYXJhbT1ubw0KYWNfY3ZfZnVuY19tZW1jcHk9eWVzDQphY19j dl9mdW5jX3N0cnN0cj15ZXMNCmFjX2N2X2NfY29uc3Q9eWVzDQphY19jdl9m dW5jX3B0aHJlYWRfaW5pdD1ubw0KYWNfY3ZfZnVuY195cF9nZXRfZGVmYXVs dF9kb21haW49eWVzDQphY19jdl9wcm9nX1lBQ0M9J2Jpc29uIC15Jw0KYWNf Y3ZfZnVuY19tbG9ja2FsbD15ZXMNCmFjX2N2X2Z1bmNfYmNtcD15ZXMNCmFj X2N2X2Z1bmNfbWtzdGVtcD15ZXMNCmFjX2N2X2Z1bmNfZmNudGw9eWVzDQph Y19jdl9oZWFkZXJfdGVybWlvc19oPXllcw0KYWNfY3ZfaGVhZGVyX3N5c192 YWR2aXNlX2g9bm8NCmFjX2N2X3BhdGhfS0lMTD0vYmluL2tpbGwNCmx0X2N2 X2xkX3JlbG9hZF9mbGFnPS1yDQphY19jdl9mdW5jX2luZGV4PXllcw0KbXlz cWxfY3ZfZmlvbnJlYWRfaW5faW9jdGw9eWVzDQphY19jdl9wcm9nX0NDPWNj DQpsdF9jdl9zeXNfcGF0aF9zZXBhcmF0b3I9Og0KYWNfY3ZfZnVuY19wdGhy ZWFkX3NpZ21hc2s9eWVzDQphY19jdl9mdW5jX3JlYWxwYXRoPXllcw0KYWNf Y3ZfZnVuY19pc25hbj15ZXMNCmFjX2N2X2Z1bmNfYm1vdmU9bm8NCmFjX2N2 X2xpYl9uY3Vyc2VzX3RnZXRlbnQ9eWVzDQphY19jdl9mdW5jX3N0cmNvbGw9 eWVzDQphY19jdl9mdW5jX3N0cnRva19yPXllcw0KYWNfY3ZfbGliX2dlbl9w Mm9wZW49bm8NCmFjX2N2X2hlYWRlcl90ZXJtaW9faD1ubw0KYWNfY3ZfcGF0 aF9DTVA9L3Vzci9iaW4vY21wDQpsdF9jdl9hcmNoaXZlX2NtZHNfbmVlZF9s Yz15ZXMNCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcw0KbHRfY3ZfcHJv Z19nbnVfbGQ9eWVzDQphY19jdl9lbnZfYnVpbGRfYWxpYXNfc2V0PXNldA0K YWNfY3ZfZnVuY19zaWdzZXQ9bm8NCmFjX2N2X2Z1bmNfZ2V0cnVzYWdlPXll cw0KYWNfY3ZfaGVhZGVyX3N5c19zZWxlY3RfaD15ZXMNCmFjX2N2X2NvbnZf bG9uZ2xvbmdfdG9fZmxvYXQ9eWVzDQpteXNxbF9jdl90em5hbWU9eWVzDQph Y19jdl9wYXRoX0NQPS9iaW4vY3ANCm15c3FsX2N2X2dldGhvc3RuYW1lX2Fy Zz1jaGFyDQphY19jdl9mdW5jX3B0aHJlYWRfZ2V0c2VxdWVuY2VfbnA9bm8N CmFjX2N2X2Z1bmNfbG9jYWx0aW1lX3I9eWVzDQphY19jdl9mdW5jX2dldHdk PXllcw0KbXlzcWxfY3ZfY2FuX3JlZGVjbF9nZXRwdz15ZXMNCmFjX2N2X2hl YWRlcl9zeXNfcHRlX2g9bm8NCmFjX2N2X2hlYWRlcl9saW1pdHNfaD15ZXMN CmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVlPQ0KYWNfY3ZfZW52X3RhcmdldF9h bGlhc19zZXQ9c2V0DQphY19jdl9mdW5jX3N0cm5sZW49bm8NCmFjX2N2X2Z1 bmNfdXRpbWVfbnVsbD15ZXMNCmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXll cw0KYWNfY3ZfcHJvZ19jY19zdGRjPQ0KYWNfY3ZfaGVhZGVyX2FsbG9jYV9o PW5vDQphY19jdl9ob3N0X2FsaWFzPWkzODYtcG9ydGJsZC1mcmVlYnNkNS4x DQphY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPSctTyAtcGlwZSAtbWNwdT1wZW50 aXVtcHJvJw0KYWNfY3ZfZW52X0NDX3NldD1zZXQNCmFjX2N2X2Z1bmNfcHRo cmVhZF9hdHRyX3NldHN0YWNrc2l6ZT1ubw0KYWNfY3ZfZnVuY19hdG9kPW5v DQpsdF9jdl9wcm9nX2NjX3dsPS1XbCwNCmFjX2N2X2hlYWRlcl9zeXNfdHlw ZXNfaD15ZXMNCmFjX2N2X2hlYWRlcl9zdGRjPXllcw0KYWNfY3ZfZnVuY19w dGhyZWFkX3NldHNjaGVkcGFyYW09bm8NCmFjX2N2X2Z1bmNfc3RycGJyaz15 ZXMNCmFjX2N2X2hlYWRlcl9wYXRoc19oPXllcw0KYWNfY3ZfaGVhZGVyX2N1 cnNlc19oPXllcw0KYWNfY3ZfaGVhZGVyX3RpbWU9eWVzDQphY19jdl9oZWFk ZXJfdGNwZF9oPXllcw0KYWNfY3ZfaGVhZGVyX2llZWVmcF9oPXllcw0KYWNf Y3ZfcGF0aF9QRVJMPS91c3IvbG9jYWwvYmluL3BlcmwNCmFjX2N2X2hlYWRl cl9zdHJpbmdzX2g9eWVzDQphY19jdl9mdW5jX2Z0cnVuY2F0ZT15ZXMNCmFj X2N2X2Z1bmNfdnByaW50Zj15ZXMNCmFjX2N2X3R5cGVfc2lnbmFsPXZvaWQN CmFjX2N2X3NpemVvZl9sb25nPTQNCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15 ZXMNCmFjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXllcw0KYWNfY3ZfcHJvZ19t YWtlX21ha2Vfc2V0PXllcw0KYWNfY3ZfZnVuY19nZXRwYXNzcGhyYXNlPW5v DQphY19jdl9mdW5jX3NldGVudj15ZXMNCmFjX2N2X2hlYWRlcl9uZGlyX2g9 bm8NCmFjX2N2X2hlYWRlcl9sb2NhbGVfaD15ZXMNCmFjX2N2X2NfaW5saW5l PWlubGluZQ0KYWNfY3ZfZnVuY19zZW1faW5pdD15ZXMNCmFjX2N2X2hlYWRl cl9zeXNfdGltZWJfaD15ZXMNCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMN CmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMNCmx0X2N2X2dsb2JhbF9zeW1i b2xfdG9fY2RlY2w9J3NlZCAtbiAtZSAnXCcncy9eLiAuKiBcKC4qXCkkL2V4 dGVybiBjaGFyIFwxOy9wJ1wnJycNCmx0X2N2X3BhdGhfTEQ9L3Vzci9iaW4v bGQNCmFjX2N2X2J1aWxkX2FsaWFzPWkzODYtcG9ydGJsZC1mcmVlYnNkNS4x DQphY19jdl9lbnZfQ1BQRkxBR1NfdmFsdWU9DQphY19jdl9mdW5jX2Zwc2V0 bWFzaz1ubw0KYWNfY3ZfcGF0aF9MTj0vYmluL2xuDQphY19jdl9mdW5jX2J6 ZXJvPXllcw0KYWNfY3ZfcHRocmVhZF95aWVsZF9vbmVfYXJnPW5vDQphY19j dl9oZWFkZXJfdXRpbWVfaD15ZXMNCmFjX2N2X2hlYWRlcl9mbG9hdGluZ3Bv aW50X2g9eWVzDQphY19jdl9wcm9nX2FjX2N0X0dFVENPTkY9Z2V0Y29uZg0K YWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcw0KYWNfY3ZfcHJvZ19hY19jdF9S QU5MSUI9cmFubGliDQphY19jdl90YXJnZXRfYWxpYXM9aTM4Ni1wb3J0Ymxk LWZyZWVic2Q1LjENCmFjX2N2X2Vudl9DWFhGTEFHU19zZXQ9c2V0DQphY19j dl9lbnZfQ1hYX3ZhbHVlPWMrKw0KYWNfY3ZfZnVuY19mY2htb2Q9eWVzDQpt eXNxbF9jdl9zaWduYWxfdmludGFnZT1wb3NpeA0KYWNfY3ZfaGVhZGVyX2Fz bV90ZXJtYml0c19oPW5vDQphY19jdl9oZWFkZXJfc3lzX3NvY2tldF9oPXll cw0KYWNfY3ZfaGVhZGVyX3N5bmNoX2g9bm8NCmFjX2N2X3Byb2dfYWNfY3Rf U1RSSVA9c3RyaXANCmFjX2N2X2hvc3Q9aTM4Ni1wb3J0YmxkLWZyZWVic2Q1 LjENCmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPWkzODYtcG9ydGJsZC1m cmVlYnNkNS4xDQphY19jdl9mdW5jX3N0cmVycm9yPXllcw0KYWNfY3ZfZnVu Y19sb2NraW5nPW5vDQphY19jdl9mdW5jX2dldHJsaW1pdD15ZXMNCmFjX2N2 X2hlYWRlcl9zeXNfZmlsZV9oPXllcw0KYWNfY3ZfdHlwZV9pbnQ9eWVzDQph Y19jdl90eXBlX29mZl90PXllcw0KYWNfY3ZfZnVuY19wZXJyb3I9eWVzDQph Y19jdl9mdW5jX3RjZ2V0YXR0cj15ZXMNCmFjX2N2X3VpbnQ9eWVzDQpsdF9j dl9nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdzZWQgLW4gLWUg J1wnJ3MvXjogXChbXiBdKlwpICQvICB7XCJcMVwiLCAobHRfcHRyKSAwfSwv cCdcJycgLWUgJ1wnJ3MvXltCQ0RFR1JTVF0gXChbXiBdKlwpIFwoW14gXSpc KSQvICB7IlwyIiwgKGx0X3B0cikgXCZcMn0sL3AnXCcnJw0KYWNfY3ZfcHJv Z19jeHhfZz15ZXMNCm15c3FsX2N2X3JlYWRkaXJfcj1QT1NJWA0KYWNfY3Zf ZnVuY190ZWxsPW5vDQphY19jdl9mdW5jX21hZHZpc2U9eWVzDQphY19jdl9o ZWFkZXJfc3RhdF9icm9rZW49bm8NCmFjX2N2X2hlYWRlcl9zeXNfc3RyZWFt X2g9bm8NCmFjX2N2X2xpYl9jX3Jfc3RydG9rX3I9eWVzDQphbV9jdl9wcm9n X2NjX3N0ZGM9DQphY19jdl9wYXRoX1JNPS9iaW4vcm0NCmx0X2N2X2NvbXBp bGVyX2Nfbz15ZXMNCmx0X2N2X3Byb2dfY2NfcGljX3dvcmtzPXllcw0KbHRf Y3ZfZmlsZV9tYWdpY190ZXN0X2ZpbGU9DQphY19jdl9mdW5jX3NpZ2hvbGQ9 bm8NCmFjX2N2X2hlYWRlcl90ZXJtY2FwX2g9eWVzDQphY19jdl9wcm9nX0NQ UD0nY2MgLUUnDQphbV9jdl9DWFhfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5 cGU9Z2NjMw0KYWNfY3ZfcHJvZ19BV0s9bmF3aw0KYWNfY3ZfYnVpbGQ9aTM4 Ni1wb3J0YmxkLWZyZWVic2Q1LjENCmFjX2N2X2Vudl9idWlsZF9hbGlhc192 YWx1ZT1pMzg2LXBvcnRibGQtZnJlZWJzZDUuMQ0KbXlzcWxfY3ZfZ2V0aG9z dG5hbWVfc3R5bGU9b3RoZXINCmFjX2N2X2Z1bmNfcHRocmVhZF9hdHRyX3Nl dHByaW89bm8NCmFjX2N2X2Z1bmNfZ2V0aG9zdGJ5YWRkcl9yPW5vDQphY19j dl9mdW5jX3Rocl9zZXRjb25jdXJyZW5jeT1ubw0KYWNfY3ZfZnVuY19nZXRw YWdlc2l6ZT15ZXMNCmFjX2N2X2Z1bmNfbHN0YXQ9eWVzDQphY19jdl9mcF9l eGNlcHQ9bm8NCmFjX2N2X3R5cGVfbG9uZ19sb25nPXllcw0KYWNfY3Zfc3Ry dWN0X3RtPXRpbWUuaA0KYWNfY3Zfc3lzX3Jlc3RhcnRhYmxlX3N5c2NhbGxz PXllcw0KbHRfY3ZfcHJvZ19jY19waWM9JyAtZlBJQycNCmx0X2N2X3N5c19n bG9iYWxfc3ltYm9sX3BpcGU9J3NlZCAtbiAtZSAnXCcncy9eLipbIAldXChb QUJDREdJU1RXXVtBQkNER0lTVFddKlwpWyAJXVsgCV0qXChcKVwoW19BLVph LXpdW19BLVphLXowLTldKlwpJC9cMSBcMlwzIFwzL3AnXCcnJw0KbHRfY3Zf ZGVwbGlic19jaGVja19tZXRob2Q9cGFzc19hbGwNCmFjX2N2X2Z1bmNfcHRo cmVhZF9jb25kYXR0cl9jcmVhdGU9bm8NCm15c3FsX2N2X2hhdmVfYm9vbD15 ZXMNCmFjX2N2X3R5cGVfY2hhcj15ZXMNCmFjX2N2X3N5c19sYXJnZWZpbGVf TElCUz1ubw0KbHRfY3ZfY29tcGlsZXJfb19sbz15ZXMNCmFjX2N2X3Rhcmdl dD1pMzg2LXBvcnRibGQtZnJlZWJzZDUuMQ0KYWNfY3ZfZW52X3RhcmdldF9h bGlhc192YWx1ZT1pMzg2LXBvcnRibGQtZnJlZWJzZDUuMQ0KYWNfY3ZfZnVu Y19wdGhyZWFkX3J3bG9ja19yZGxvY2s9eWVzDQphY19jdl9mdW5jX3N0cnRv dWxsPXllcw0KYWNfY3ZfZnVuY19zdHJ0b2xsPXllcw0KYWNfY3ZfZnVuY19y ZW5hbWU9eWVzDQphY19jdl91Y2hhcj1ubw0KYWNfY3ZfaGVhZGVyX3N5c19p b2N0bF9oPXllcw0KYWNfY3ZfaGVhZGVyX3N5c191bl9oPXllcw0KYWNfY3Zf aGVhZGVyX3N0ZGRlZl9oPXllcw0KYWNfY3ZfcGF0aF9QUz0vYmluL3BzDQph Y19jdl9wYXRoX01WPS9iaW4vbXYNCmFjX2N2X2Vudl9DQ192YWx1ZT1jYw0K YWNfY3ZfZnVuY19nZXRwd25hbT15ZXMNCmFjX2N2X3B0aHJlYWRfeWllbGRf emVyb19hcmc9eWVzbw0KYWNfY3ZfbGliX2RsX2Rsb3Blbj1ubw0KYWNfY3Zf bGliX21fZmxvb3I9eWVzDQphY19jdl9oZWFkZXJfdGVybV9oPXllcw0KYWNf Y3ZfaGVhZGVyX2FycGFfaW5ldF9oPXllcw0KYWNfY3ZfcHJvZ19UQVI9dGFy DQpteXNxbF9jdl9zeXNfb3M9RnJlZUJTRA0KbHRfY3ZfcGF0aF9OTT1ubQ0K YWNfY3ZfZW52X0NQUF9zZXQ9DQphY19jdl9mdW5jX3BvbGw9eWVzDQphY19j dl9mdW5jX2N1c2VyaWQ9bm8NCmFjX2N2X2xpYl9jcnlwdF9jcnlwdD15ZXMN CmFjX2N2X2hlYWRlcl9zY2hlZF9oPXllcw0KYWNfY3ZfaGVhZGVyX2RsZmNu X2g9eWVzDQphY19jdl9mdW5jX3B1dGVudj15ZXMNCmFjX2N2X2xpYl9wdGhy ZWFkX3N0cnRva19yPW5vDQphY19jdl9mdW5jX3Ayb3Blbj1ubw0KYWNfY3Zf ZnVuY19zZXRzb2Nrb3B0PXllcw0KYWNfY3ZfbGliX25zbF9nZXRob3N0Ynlu YW1lX3I9bm8NCmFjX2N2X2hlYWRlcl9zeXNfbW1hbl9oPXllcw0KYWNfY3Zf c3lzX2ZpbGVfb2Zmc2V0X2JpdHM9bm8NCmFjX2N2X2Z1bmNfc3RwY3B5PXll cw0KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X3JkZXY9eWVzDQphY19j dl9mdW5jX2dldGhvc3RieW5hbWVfcj1ubw0KYWNfY3Zfb2JqZXh0PW8NCg0K IyMgLS0tLS0tLS0tLS0gIyMNCiMjIGNvbmZkZWZzLmguICMjDQojIyAtLS0t LS0tLS0tLSAjIw0KDQojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgIiINCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIiDQojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQojZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiDQojZGVmaW5lIFBBQ0tBR0UgIm15c3FsIg0KI2Rl ZmluZSBWRVJTSU9OICIzLjIzLjU3Ig0KI2RlZmluZSBQUk9UT0NPTF9WRVJT SU9OIDEwDQojZGVmaW5lIERPVF9GUk1fVkVSU0lPTiA2DQojZGVmaW5lIFNZ U1RFTV9UWVBFICJwb3J0YmxkLWZyZWVic2Q1LjEiDQojZGVmaW5lIE1BQ0hJ TkVfVFlQRSAiaTM4NiINCiNpZmRlZiBfX2NwbHVzcGx1cw0KZXh0ZXJuICJD IiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpl eGl0Ow0KI2VuZGlmDQojZGVmaW5lIFNURENfSEVBREVSUyAxDQojZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQ0KI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQ0KI2RlZmluZSBIQVZFX1NURExJQl9IIDENCiNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxDQojZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxDQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQojZGVm aW5lIEhBVkVfU1RESU5UX0ggMQ0KI2RlZmluZSBIQVZFX1VOSVNURF9IIDEN CiNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCiNkZWZpbmUgU1BSSU5URl9SRVRV Uk5TX0lOVCAxDQojZGVmaW5lIEhBVkVfRElSRU5UX0ggMQ0KI2RlZmluZSBT VERDX0hFQURFUlMgMQ0KI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQ0KI2Rl ZmluZSBIQVZFX0ZDTlRMX0ggMQ0KI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0K I2RlZmluZSBIQVZFX0ZMT0FUSU5HUE9JTlRfSCAxDQojZGVmaW5lIEhBVkVf SUVFRUZQX0ggMQ0KI2RlZmluZSBIQVZFX0xJTUlUU19IIDENCiNkZWZpbmUg SEFWRV9NRU1PUllfSCAxDQojZGVmaW5lIEhBVkVfUFdEX0ggMQ0KI2RlZmlu ZSBIQVZFX1NURExJQl9IIDENCiNkZWZpbmUgSEFWRV9TVERERUZfSCAxDQoj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCiNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxDQojZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQojZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDENCiNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQ0K I2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IIDENCiNkZWZpbmUgSEFWRV9TWVNf VElNRUJfSCAxDQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDENCiNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEN CiNkZWZpbmUgSEFWRV9URVJNX0ggMQ0KI2RlZmluZSBIQVZFX1VOSVNURF9I IDENCiNkZWZpbmUgSEFWRV9VVElNRV9IIDENCiNkZWZpbmUgSEFWRV9URVJN SU9TX0ggMQ0KI2RlZmluZSBIQVZFX1NDSEVEX0ggMQ0KI2RlZmluZSBIQVZF X1NZU19JT0NUTF9IIDENCiNkZWZpbmUgSEFWRV9MSUJNIDENCiNkZWZpbmUg SEFWRV9MSUJDUllQVCAxDQojZGVmaW5lIEhBVkVfQ1JZUFQgMQ0KI2RlZmlu ZSBIQVZFX0NPTVBSRVNTIDENCiNkZWZpbmUgTElCV1JBUCAxDQojZGVmaW5l IEhBVkVfTElCV1JBUCAxDQojZGVmaW5lIEhBVkVfTElCQ19SIDENCiNkZWZp bmUgSEFWRV9TVFJUT0tfUiAxDQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0K I2RlZmluZSBIQVZFX1JFU1RBUlRBQkxFX1NZU0NBTExTIDENCiNkZWZpbmUg SEFWRV9TVFJVQ1RfU1RBVF9TVF9SREVWIDENCiNkZWZpbmUgSEFWRV9TVF9S REVWIDENCiNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCiNkZWZpbmUg U0laRU9GX0NIQVIgMQ0KI2RlZmluZSBTSVpFT0ZfSU5UIDQNCiNkZWZpbmUg U0laRU9GX0xPTkcgNA0KI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgNCiNk ZWZpbmUgU0laRU9GX09GRl9UIDgNCiNkZWZpbmUgU09DS0VUX1NJWkVfVFlQ RSBzb2NrbGVuX3QNCiNkZWZpbmUgU1RBQ0tfRElSRUNUSU9OIC0xDQojZGVm aW5lIEhBVkVfQUxMT0NBIDENCiNkZWZpbmUgSEFWRV9UWk5BTUUgMQ0KI2Rl ZmluZSBIQVZFX1VJTlQgMQ0KI2RlZmluZSBIQVZFX0JPT0wgMQ0KI2RlZmlu ZSBIQVZFX1NUREFSR19IIDENCiNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxDQoj ZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0KI2RlZmluZSBIQVZFX1NZU19ESVJf SCAxDQojZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxDQojZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDENCiNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCiNk ZWZpbmUgSEFWRV9DVVJTRVNfSCAxDQojZGVmaW5lIEhBVkVfVEVSTUNBUF9I IDENCiNkZWZpbmUgSEFWRV9HUlBfSCAxDQojZGVmaW5lIEhBVkVfUEFUSFNf SCAxDQojZGVmaW5lIEhBVkVfTFNUQVQgMQ0KI2RlZmluZSBIQVZFX1BVVEVO ViAxDQojZGVmaW5lIEhBVkVfU0VMRUNUIDENCiNkZWZpbmUgSEFWRV9TRVRF TlYgMQ0KI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxDQojZGVmaW5lIEhBVkVf U1RSQ09MTCAxDQojZGVmaW5lIEhBVkVfVENHRVRBVFRSIDENCiNkZWZpbmUg UkVUU0lHVFlQRSB2b2lkDQojZGVmaW5lIEhBVkVfUE9TSVhfU0lHTkFMUyAx DQojZGVmaW5lIEdXSU5TWl9JTl9TWVNfSU9DVEwgMQ0KI2RlZmluZSBGSU9O UkVBRF9JTl9TWVNfSU9DVEwgMQ0KI2RlZmluZSBUSU9DU1RBVF9JTl9TWVNf SU9DVEwgMQ0KI2RlZmluZSBTVFJVQ1RfRElSRU5UX0hBU19EX0lOTyAxDQoj ZGVmaW5lIFZPSURfU0lHSEFORExFUiAxDQojZGVmaW5lIEhBVkVfU1RETElC X0ggMQ0KI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCiNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxDQojZGVmaW5lIEhBVkVfTU1BUCAxDQojZGVmaW5lIFJF VFNJR1RZUEUgdm9pZA0KI2RlZmluZSBSRVRRU09SVFRZUEUgdm9pZA0KI2Rl ZmluZSBRU09SVF9UWVBFX0lTX1ZPSUQgMQ0KI2RlZmluZSBIQVZFX1VUSU1F X05VTEwgMQ0KI2RlZmluZSBIQVZFX1ZQUklOVEYgMQ0KI2RlZmluZSBIQVZF X0FMQVJNIDENCiNkZWZpbmUgSEFWRV9GVFJVTkNBVEUgMQ0KI2RlZmluZSBI QVZFX1JJTlQgMQ0KI2RlZmluZSBIQVZFX0ZJTklURSAxDQojZGVmaW5lIEhB VkVfSVNOQU4gMQ0KI2RlZmluZSBIQVZFX0ZDTlRMIDENCiNkZWZpbmUgSEFW RV9QT0xMIDENCiNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KI2RlZmluZSBI QVZFX0dFVFBXVUlEIDENCiNkZWZpbmUgSEFWRV9HRVRDV0QgMQ0KI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxDQojZGVmaW5lIEhBVkVfR0VUV0QgMQ0KI2Rl ZmluZSBIQVZFX0lOREVYIDENCiNkZWZpbmUgSEFWRV9TVFBDUFkgMQ0KI2Rl ZmluZSBIQVZFX0xPTkdKTVAgMQ0KI2RlZmluZSBIQVZFX1BFUlJPUiAxDQoj ZGVmaW5lIEhBVkVfUFJFQUQgMQ0KI2RlZmluZSBIQVZFX1JFQUxQQVRIIDEN CiNkZWZpbmUgSEFWRV9SRUFETElOSyAxDQojZGVmaW5lIEhBVkVfUkVOQU1F IDENCiNkZWZpbmUgSEFWRV9TT0NLRVQgMQ0KI2RlZmluZSBIQVZFX01BRFZJ U0UgMQ0KI2RlZmluZSBIQVZFX01LU1RFTVAgMQ0KI2RlZmluZSBIQVZFX1NU UlRPTCAxDQojZGVmaW5lIEhBVkVfU1RSVE9VTCAxDQojZGVmaW5lIEhBVkVf U1RSVE9MTCAxDQojZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQ0KI2RlZmluZSBI QVZFX1NOUFJJTlRGIDENCiNkZWZpbmUgSEFWRV9URU1QTkFNIDENCiNkZWZp bmUgSEFWRV9HRVRQV05BTSAxDQojZGVmaW5lIEhBVkVfQlpFUk8gMQ0KI2Rl ZmluZSBIQVZFX0JDTVAgMQ0KI2RlZmluZSBIQVZFX1NUUlNUUiAxDQojZGVm aW5lIEhBVkVfU1RSUEJSSyAxDQojZGVmaW5lIEhBVkVfU1RSRVJST1IgMQ0K I2RlZmluZSBIQVZFX01FTUNQWSAxDQojZGVmaW5lIEhBVkVfTUVNTU9WRSAx DQojZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxDQojZGVmaW5lIEhBVkVfTFJB TkQ0OCAxDQojZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQ0KI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxDQojZGVmaW5lIEhBVkVfUFRIUkVBRF9S V0xPQ0tfUkRMT0NLIDENCiNkZWZpbmUgSEFWRV9GQ0hNT0QgMQ0KI2RlZmlu ZSBIQVZFX0dFVFBBU1MgMQ0KI2RlZmluZSBIQVZFX0lOSVRHUk9VUFMgMQ0K I2RlZmluZSBIQVZFX01MT0NLQUxMIDENCiNkZWZpbmUgSEFWRV9GU0VFS08g MQ0KI2RlZmluZSBIQVZFX0RMT1BFTiAxDQojZGVmaW5lIEhBVkVfRExFUlJP UiAxDQojZGVmaW5lIEhBVkVfUkVBRERJUl9SIDENCiNkZWZpbmUgSEFWRV9T SUdXQUlUIDENCiNkZWZpbmUgSEFWRV9JTk5PQkFTRV9EQiAxDQojZGVmaW5l IFRIUkVBRCAxDQoNCmNvbmZpZ3VyZTogZXhpdCAxDQo= ---1128234253-896222822-1062937787=:17485 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=pkg_info Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.44.0309071429471.17485@fang.fa.gau.hu> Content-Description: Content-Disposition: attachment; filename=pkg_info U2FibG90LTEuMCAgICAgICAgICBYTUwgdG9vbGtpdCBpbXBsZW1lbnRpbmcg WFNMVCAxLjAsIFhQYXRoIDEuMCBhbmQgRE9NIExldmVsMg0KYXBhY2hlK21v ZF9zc2wtMS4zLjI4KzIuOC4xNV8xIFRoZSBBcGFjaGUgMS4zIHdlYnNlcnZl ciB3aXRoIFNTTC9UTFMgZnVuY3Rpb25hbGl0eQ0KYmFzaC0yLjA1Yi4wMDcg ICAgICBUaGUgR05VIEJvdXJuZSBBZ2FpbiBTaGVsbA0KYmlzb24tMS43NV8x ICAgICAgICBBIHBhcnNlciBnZW5lcmF0b3IgZnJvbSBGU0YsIChtb3N0bHkp IGNvbXBhdGlibGUgd2l0aCBZYWNjDQpjY2xpZW50LTIwMDJkLDEgICAgIE1h cmsgQ3Jpc3BpbidzIEMtY2xpZW50IG1haWwgYWNjZXNzIHJvdXRpbmVzDQpj dXJsLTcuMTAuNyAgICAgICAgICJOb24taW50ZXJhY3RpdmUgdG9vbCB0byBn ZXQgZmlsZXMgZnJvbSBGVFAsIEdPUEhFUiwgSFRUUChTDQpjdnN1cC13aXRo b3V0LWd1aS0xNi4xaCBHZW5lcmFsIG5ldHdvcmsgZmlsZSBkaXN0cmlidXRp b24gc3lzdGVtIG9wdGltaXplZCBmb3IgQ1ZTIA0KZXhwYXQtMS45NS42XzEg ICAgICBYTUwgMS4wIHBhcnNlciB3cml0dGVuIGluIEMNCmV6bTMtMS4xICAg ICAgICAgICAgRWFzaWVyLCBtb3JlIHBvcnRhYmxlIE1vZHVsYS0zIGRpc3Ry aWJ1dGlvbiBmb3IgYnVpbGRpbmcgQ1YNCmZyZWV0eXBlMi0yLjEuNF8xICAg QSBmcmVlIGFuZCBwb3J0YWJsZSBUcnVlVHlwZSBmb250IHJlbmRlcmluZyBl bmdpbmUNCmdldHRleHQtMC4xMi4xICAgICAgR05VIGdldHRleHQgcGFja2Fn ZQ0KZ2xpYi0yLjIuMyAgICAgICAgICBTb21lIHVzZWZ1bCByb3V0aW5lcyBv ZiBDIHByb2dyYW1taW5nIChjdXJyZW50IHN0YWJsZSB2ZXJzaQ0KZ21ha2Ut My44MF8xICAgICAgICBHTlUgdmVyc2lvbiBvZiAnbWFrZScgdXRpbGl0eQ0K aXNwZWxsLTMuMi4wNl8zICAgICBBbiBpbnRlcmFjdGl2ZSBzcGVsbGluZyBj aGVja2VyIGZvciBtdWx0aXBsZSBsYW5ndWFnZXMNCmphc3Blci0xLjcwMC4y ICAgICAgQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIGNvZGVjIHNwZWNpZmll ZCBpbiB0aGUgSlBFRy0yMDAwIHMNCmpiaWdraXQtMS41ICAgICAgICAgTG9z c2xlc3MgY29tcHJlc3Npb24gZm9yIGJpLWxldmVsIGltYWdlcyBzdWNoIGFz IHNjYW5uZWQgcGENCmpoZWFkLTIuMCAgICAgICAgICAgRXhpZiBKcGVnIGNh bWVyYSBzZXR0aW5nIHBhcnNlciBhbmQgdGh1bWJuYWlsIHJlbW92ZXINCmpv ZS0yLjhfNSAgICAgICAgICAgSm9lJ3Mgb3duIGVkaXRvcg0KanBlZy02Yl8x ICAgICAgICAgICBJSkcncyBqcGVnIGNvbXByZXNzaW9uIHV0aWxpdGllcw0K bGliaWNvbnYtMS45LjFfMSAgICBBIGNoYXJhY3RlciBzZXQgY29udmVyc2lv biBsaWJyYXJ5DQpsaWJtY3J5cHQtMi41LjdfMSAgIE11bHRpLWNpcGhlciBj cnlwdG9ncmFwaGljIGxpYnJhcnkgKHVzZWQgaW4gUEhQMykNCmxpYnNsYW5n LTEuNC45ICAgICAgUm91dGluZXMgZm9yIHJhcGlkIGFscGhhLW51bWVyaWMg dGVybWluYWwgYXBwbGljYXRpb25zIGRldmUNCmxpYnRvb2wtMS4zLjVfMSAg ICAgR2VuZXJpYyBzaGFyZWQgbGlicmFyeSBzdXBwb3J0IHNjcmlwdA0KbGli dG9vbC0xLjQuM18yICAgICBHZW5lcmljIHNoYXJlZCBsaWJyYXJ5IHN1cHBv cnQgc2NyaXB0DQpsaWJ4bWwyLW5vcHl0aG9uLTIuNS4xMCBYbWwgcGFyc2Vy IGxpYnJhcnkgZm9yIEdOT01FDQpsaWJ4c2x0LW5vcHl0aG9uLTEuMC4zMiBU aGUgWFNMVCBDIGxpYnJhcnkgZm9yIEdOT01FDQptNC0xLjRfMSAgICAgICAg ICAgIEdOVSBtNA0KbWMtNC42LjBfNSAgICAgICAgICBNaWRuaWdodCBDb21t YW5kZXIsIGEgZnJlZSBOb3J0b24gQ29tbWFuZGVyIENsb25lDQptaGFzaC0w LjguMTggICAgICAgICJMaWJyYXJ5IHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRv IGFjY2VzcyBzdHJvbmcgaGFzaGVzIHN1Y2ggDQptbS0xLjMuMCAgICAgICAg ICAgIFNoYXJlZCBtZW1vcnkgYWxsb2NhdGlvbiBsaWJyYXJ5IGZvciBwcmUt Zm9ya2VkIHByb2Nlc3MgbW9kDQpuZXRwYm0tMTAuMTdfMSAgICAgIEEgdG9v bGtpdCBmb3IgY29udmVyc2lvbiBvZiBpbWFnZXMgYmV0d2VlbiBkaWZmZXJl bnQgZm9ybWF0DQpvcGVubGRhcDEyLTEuMi4xMyAgIE9wZW4gc291cmNlIExE QVAgY2xpZW50IGFuZCBzZXJ2ZXIgc29mdHdhcmUNCnBkZmxpYi01LjAuMSAg ICAgICAgQSBDIGxpYnJhcnkgZm9yIGR5bmFtaWNhbGx5IGdlbmVyYXRpbmcg UERGDQpwZXJsLTUuNi4xXzEzICAgICAgIFByYWN0aWNhbCBFeHRyYWN0aW9u IGFuZCBSZXBvcnQgTGFuZ3VhZ2UNCnBpbmUtNC41NiAgICAgICAgICAgUElO RSh0bSkgLS0gYSBQcm9ncmFtIGZvciBJbnRlcm5ldCBOZXdzICYgRW1haWwN CnBrZ2NvbmZpZy0wLjE1LjAgICAgQSB1dGlsaXR5IHVzZWQgdG8gcmV0cmll dmUgaW5mb3JtYXRpb24gYWJvdXQgaW5zdGFsbGVkIGxpYnINCnBuZy0xLjIu NV8yICAgICAgICAgTGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIFBORyBpbWFn ZXMNCnBvc3RncmVzcWwtY2xpZW50LTcuMy40XzEgVGhlIG1vc3QgYWR2YW5j ZWQgb3Blbi1zb3VyY2UgZGF0YWJhc2UgYXZhaWxhYmxlIGFueXdoZXJlDQp0 aWZmLTMuNS43XzEgICAgICAgIFRvb2xzIGFuZCBsaWJyYXJ5IHJvdXRpbmVz IGZvciB3b3JraW5nIHdpdGggVElGRiBpbWFnZXMNCnVucmFyLTMuMjAsMiAg ICAgICAgRXh0cmFjdCwgdmlldyAmIHRlc3QgUkFSIGFyY2hpdmVzDQp1bnpp cC01LjUwXzIgICAgICAgIExpc3QsIHRlc3QgYW5kIGV4dHJhY3QgY29tcHJl c3NlZCBmaWxlcyBpbiBhIFpJUCBhcmNoaXZlDQp3Z2V0LTEuOC4yXzQgICAg ICAgIFJldHJpZXZlIGZpbGVzIGZyb20gdGhlIE5ldCB2aWEgSFRUUCBhbmQg RlRQDQp6aXAtMi4zXzEgICAgICAgICAgIENyZWF0ZS91cGRhdGUgWklQIGZp bGVzIGNvbXBhdGlibGUgd2l0aCBwa3ppcA0K ---1128234253-896222822-1062937787=:17485--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.44.0309071428040.17485-300000>