Date: Tue, 6 Aug 2013 19:21:05 +0800 From: "=?gb18030?B?o8M/b9H5ofqjwWdl?=" <634002759@qq.com> To: "=?gb18030?B?Z2Vja28=?=" <gecko@FreeBSD.org> Subject: make firefox output system's libpng doesn't have apng support Message-ID: <tencent_6FB220CD7BFB722172088FDF@qq.com>
next in thread | raw e-mail | index | archive | help
Y29uZmlnLmgNCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNz YWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUNCnJ1bm5pbmcgY29uZmlndXJlLCB0 byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuDQoNCg0KY29u ZmlndXJlOjExMjY6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUNCmNvbmZpZ3VyZToxMTQ3 OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUNCmNvbmZpZ3VyZToxMTY1OiBjaGVja2lu ZyBidWlsZCBzeXN0ZW0gdHlwZQ0KY29uZmlndXJlOjEyMzk6IGNoZWNraW5nIGZvciBtYXdr DQpjb25maWd1cmU6MTQxMzogY2hlY2tpbmcgUHl0aG9uIGVudmlyb25tZW50IGlzIE1vemls bGEgdmlydHVhbGVudg0KY29uZmlndXJlOjE2MDk6IGNoZWNraW5nIGZvciAvdXNyL2xvY2Fs L2Jpbi9wZXJsDQpjb25maWd1cmU6MjkyMjogY2hlY2tpbmcgZm9yIGdjYw0KY29uZmlndXJl OjMwMzU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKC91c3IvYmluL2NsYW5n IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOKSB3b3Jrcw0KY29uZmlndXJlOjMwNTE6 IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgIDE+JjUNCmNvbmZp Z3VyZTozMDQ4OjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRlZmF1bHRz IHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0NCm1haW4oKXtyZXR1cm4oMCk7fQ0KXn5+fg0K MSB3YXJuaW5nIGdlbmVyYXRlZC4NCmNvbmZpZ3VyZTozMDc3OiBjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyICgvdXNyL2Jpbi9jbGFuZyAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwk JE9SSUdJTikgaXMgYSBjcm9zcy1jb21waWxlcg0KY29uZmlndXJlOjMwODI6IGNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDDQpjb25maWd1cmU6MzA5MTogL3Vzci9iaW4v Y2xhbmcgLUUgY29uZnRlc3QuYw0KY29uZmlndXJlOjMxMTA6IGNoZWNraW5nIHdoZXRoZXIg L3Vzci9iaW4vY2xhbmcgYWNjZXB0cyAtZw0KY29uZmlndXJlOjMxNTE6IGNoZWNraW5nIGZv ciBjKysNCmNvbmZpZ3VyZTozMTgzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGls ZXIgKC91c3IvYmluL2NsYW5nKysgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAt TC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4pIHdv cmtzDQpjb25maWd1cmU6MzE5OTogL3Vzci9iaW4vY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIg LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBj b25mdGVzdC5DICAxPiY1DQpjb25maWd1cmU6MzIyNTogY2hlY2tpbmcgd2hldGhlciB0aGUg QysrIGNvbXBpbGVyICgvdXNyL2Jpbi9jbGFuZysrIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h bGlhc2luZyAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQk T1JJR0lOKSBpcyBhIGNyb3NzLWNvbXBpbGVyDQpjb25maWd1cmU6MzIzMDogY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMrKw0KY29uZmlndXJlOjMyMzk6IC91c3IvYmlu L2NsYW5nKysgLUUgY29uZnRlc3QuQw0KY29uZmlndXJlOjMyNTg6IGNoZWNraW5nIHdoZXRo ZXIgL3Vzci9iaW4vY2xhbmcrKyBhY2NlcHRzIC1nDQpjb25maWd1cmU6MzI5MjogY2hlY2tp bmcgZm9yIHJhbmxpYg0KY29uZmlndXJlOjMzMjQ6IGNoZWNraW5nIGZvciBhcw0KY29uZmln dXJlOjMzNzg6IGNoZWNraW5nIGZvciBhcg0KY29uZmlndXJlOjM0MTM6IGNoZWNraW5nIGZv ciBsZA0KY29uZmlndXJlOjM0NDg6IGNoZWNraW5nIGZvciBzdHJpcA0KY29uZmlndXJlOjM0 ODM6IGNoZWNraW5nIGZvciB3aW5kcmVzDQpjb25maWd1cmU6NDM5ODogY2hlY2tpbmcgaG93 IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3INCmNvbmZpZ3VyZTo0NDc4OiBjaGVja2luZyBo b3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yDQpjb25maWd1cmU6NDQ5NjogL3Vzci9i aW4vY2xhbmcrKyAtRSAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DID4v ZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCmNvbmZpZ3VyZTo0NTgwOiBjaGVja2luZyBmb3Ig YSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsDQpjb25maWd1cmU6NDYzMzogY2hlY2tpbmcgd2hl dGhlciBsbiAtcyB3b3Jrcw0KY29uZmlndXJlOjQ2NTY6IGNoZWNraW5nIGZvciBtaW5pbXVt IHJlcXVpcmVkIHBlcmwgdmVyc2lvbiA+PSA1LjAwNg0KY29uZmlndXJlOjQ2Njc6IGNoZWNr aW5nIGZvciBmdWxsIHBlcmwgaW5zdGFsbGF0aW9uDQpjb25maWd1cmU6NDcwNDogY2hlY2tp bmcgZm9yIGRveHlnZW4NCmNvbmZpZ3VyZTo0NzUzOiBjaGVja2luZyBmb3IgYXV0b2NvbmYN CmNvbmZpZ3VyZTo0ODA0OiBjaGVja2luZyBmb3IgdW56aXANCmNvbmZpZ3VyZTo0ODYwOiBj aGVja2luZyBmb3IgemlwDQpjb25maWd1cmU6NDkxNDogY2hlY2tpbmcgZm9yIHhhcmdzDQpj b25maWd1cmU6NDk2NjogY2hlY2tpbmcgZm9yIHJwbWJ1aWxkDQpjb25maWd1cmU6NTEzMTog Y2hlY2tpbmcgY29tcGlsZXIgdmVyc2lvbg0KY29uZmlndXJlOjUyMDU6IGNoZWNraW5nIGZv ciBnbWFrZQ0KY29uZmlndXJlOjUyNzI6IGNoZWNraW5nIGZvciBYDQpjb25maWd1cmU6NTU4 OTogY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXQNCmNvbmZpZ3VyZTo1NjA4OiAv dXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16 LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sZG5ldCAgIDE+JjUN Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbGRuZXQNCmNsYW5nOiBlcnJvcjogbGlua2Vy IGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2Nh dGlvbikNCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNTU5NyAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBPdmVycmlkZSBhbnkgZ2NjMiBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KLyogV2UgdXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0K ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovDQpjaGFyIGRuZXRfbnRvYSgpOw0KDQoNCmludCBtYWluKCkgew0KZG5l dF9udG9hKCkNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZTo1NjMwOiBjaGVja2luZyBmb3Ig ZG5ldF9udG9hIGluIC1sZG5ldF9zdHViDQpjb25maWd1cmU6NTY0OTogL3Vzci9iaW4vY2xh bmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVds LC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbGRuZXRfc3R1YiAgIDE+JjUNCi91c3Iv YmluL2xkOiBjYW5ub3QgZmluZCAtbGRuZXRfc3R1Yg0KY2xhbmc6IGVycm9yOiBsaW5rZXIg Y29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0 aW9uKQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA1NjM4ICJjb25m aWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIE92ZXJyaWRlIGFueSBnY2MyIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQovKiBXZSB1c2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQog ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8NCmNoYXIgZG5ldF9udG9hKCk7DQoNCg0KaW50IG1haW4oKSB7DQpkbmV0 X250b2EoKQ0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjU2Nzg6IGNoZWNraW5nIGZvciBn ZXRob3N0YnluYW1lDQpjb25maWd1cmU6NTc3NjogY2hlY2tpbmcgZm9yIGNvbm5lY3QNCmNv bmZpZ3VyZTo1ODA0OiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5j ICAxPiY1DQpjb25maWd1cmU6NTg2ODogY2hlY2tpbmcgZm9yIHJlbW92ZQ0KY29uZmlndXJl OjU4OTY6IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xp YiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgIDE+JjUN CmNvbmZpZ3VyZTo1OTYwOiBjaGVja2luZyBmb3Igc2htYXQNCmNvbmZpZ3VyZTo1OTg4OiAv dXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16 LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jICAxPiY1DQpjb25maWd1 cmU6NjA2MTogY2hlY2tpbmcgZm9yIEljZUNvbm5lY3Rpb25OdW1iZXIgaW4gLWxJQ0UNCmNv bmZpZ3VyZTo2MDgwOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtTC91c3IvbG9j YWwvbGliIGNvbmZ0ZXN0LmMgLWxJQ0UgICAxPiY1DQpjb25maWd1cmU6NjQ4ODogL3Vzci9i aW4vY2xhbmcgLWMgIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQ0KY29uZmlndXJlOjY0ODQ6MTU6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlm aWVyICdfX3RodW1iMl9fJw0KcmV0dXJuIHNpemVvZihfX3RodW1iMl9fKTsNCiAgICAgICAg ICAgICAgXg0KMSBlcnJvciBnZW5lcmF0ZWQuDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoNCiNsaW5lIDY0ODEgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0K DQoNCmludCBtYWluKCkgew0KcmV0dXJuIHNpemVvZihfX3RodW1iMl9fKTsNCjsgcmV0dXJu IDA7IH0NCmNvbmZpZ3VyZTo2Njg3OiBjaGVja2luZyB0aGF0IHN0YXRpYyBhc3NlcnRpb24g bWFjcm9zIHVzZWQgaW4gYXV0b2NvbmYgdGVzdHMgd29yaw0KY29uZmlndXJlOjY3MDg6IC91 c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUNCmNvbmZpZ3VyZTo2NzI1OiAv dXNyL2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6NjcyNTox OiBlcnJvcjogJ3N0YXRpY19hc3NlcnRfbGluZV82NzI1JyBkZWNsYXJlZCBhcyBhbiBhcnJh eSB3aXRoIGEgbmVnYXRpdmUgc2l6ZQ0KQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkNCl5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQpjb25maWd1cmU6NjcyMDo0NDogbm90ZTogZXhw YW5kZWQgZnJvbToNCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9u KSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KY29uZmlndXJl OjY3MjE6NTU6IG5vdGU6IGV4cGFuZGVkIGZyb206DQojZGVmaW5lIENPTkZJR1VSRV9TVEFU SUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VS VF9JTVBMMihjb25kaXRpb24sIGxpbmUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeDQpjb25maWd1cmU6NjcyMjo5NDogbm90ZTog ZXhwYW5kZWQgZnJvbToNCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIo Y29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5l Wyhjb25kaXRpb24pID8gMSA6IC0xXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4NCjEgZXJyb3IgZ2VuZXJhdGVkLg0KY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA2NzE4ICJjb25maWd1cmUiDQoj aW5jbHVkZSAiY29uZmRlZnMuaCINCg0KDQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUKGNvbmRpdGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24s IF9fTElORV9fKQ0KI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRp dGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBs aW5lKQ0KI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24s IGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlv bikgPyAxIDogLTFdDQoNCg0KaW50IG1haW4oKSB7DQpDT05GSUdVUkVfU1RBVElDX0FTU0VS VCgwKQ0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjY3NDg6IC91c3IvYmluL2NsYW5nKysg LWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjY3NjU6IC91c3IvYmluL2NsYW5n KysgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjY3NjU6MTogZXJyb3I6ICdz dGF0aWNfYXNzZXJ0X2xpbmVfNjc2NScgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBhIG5l Z2F0aXZlIHNpemUNCkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKDApDQpefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fg0KY29uZmlndXJlOjY3NjA6NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb206 DQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRpdGlvbikgQ09ORklHVVJF X1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9fKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCmNvbmZpZ3VyZTo2NzYxOjU1OiBu b3RlOiBleHBhbmRlZCBmcm9tOg0KI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9J TVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29u ZGl0aW9uLCBsaW5lKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXg0KY29uZmlndXJlOjY3NjI6OTQ6IG5vdGU6IGV4cGFuZGVkIGZy b206DQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwg bGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9u KSA/IDEgOiAtMV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+DQoxIGVycm9yIGdlbmVyYXRlZC4NCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjc1OCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNv bmZkZWZzLmgiDQoNCg0KI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRp b24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykN CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxpbmUp IENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkNCiNkZWZp bmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBl ZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0x XQ0KDQoNCmludCBtYWluKCkgew0KQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkNCjsgcmV0 dXJuIDA7IH0NCmNvbmZpZ3VyZTo2OTMyOiBjaGVja2luZyBmb3IgLS1ub2V4ZWNzdGFjayBv cHRpb24gdG8gYXMNCmNvbmZpZ3VyZTo2OTQzOiAvdXNyL2Jpbi9jbGFuZyAtYyAtTzIgLXBp cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtV2EsLS1ub2V4ZWNzdGFjayAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6 Njk1NjogY2hlY2tpbmcgZm9yIC16IG5vZXhlY3N0YWNrIG9wdGlvbiB0byBsZA0KY29uZmln dXJlOjY5Njc6IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1X bCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1DQpjb25maWd1cmU6Njk3OTogY2hl Y2tpbmcgZm9yIC0tYnVpbGQtaWQgb3B0aW9uIHRvIGxkDQpjb25maWd1cmU6Njk5MDogL3Vz ci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwv bGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0 YWNrIC1XbCwtLWJ1aWxkLWlkIGNvbmZ0ZXN0LmMgIDE+JjUNCi91c3IvYmluL2xkOiB1bnJl Y29nbml6ZWQgb3B0aW9uICctLWJ1aWxkLWlkJw0KL3Vzci9iaW4vbGQ6IHVzZSB0aGUgLS1o ZWxwIG9wdGlvbiBmb3IgdXNhZ2UgaW5mb3JtYXRpb24NCmNsYW5nOiBlcnJvcjogbGlua2Vy IGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2Nh dGlvbikNCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjk4MyAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoNCg0KaW50IG1haW4oKSB7DQoNCg0K OyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjcwMDY6IGNoZWNraW5nIGlmIHRvb2xjaGFpbiBz dXBwb3J0cyAtbW1teCAtbXNzc2UzIG9wdGlvbg0KY29uZmlndXJlOjcwMTg6IC91c3IvYmlu L2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1m Z251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1tbW14IC1tc3NzZTMgLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQ0KY29uZmlndXJlOjcwMzQ6IGNoZWNraW5nIGlmIHRvb2xjaGFpbiBzdXBwb3J0cyAtbW1t eCAtbXNzZTQuMSBvcHRpb24NCmNvbmZpZ3VyZTo3MDQ2OiAvdXNyL2Jpbi9jbGFuZyAtYyAt TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGlu ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtbW1teCAtbXNzZTQuMSAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1 cmU6NzA3MjogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV2Vy cm9yPXJldHVybi10eXBlDQpjb25maWd1cmU6NzA5NTogL3Vzci9iaW4vY2xhbmcgLWMgLU8y IC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2Vycm9yPXJldHVybi10eXBlIC1RdW51 c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+ JjUNCmNvbmZpZ3VyZTo3MTIzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1 cHBvcnRzIC1XdHlwZS1saW1pdHMNCmNvbmZpZ3VyZTo3MTQ2OiAvdXNyL2Jpbi9jbGFuZyAt YyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlu bGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XdHlwZS1saW1pdHMgLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQ0KY29uZmlndXJlOjcxNzQ6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3Vw cG9ydHMgLVdlbXB0eS1ib2R5DQpjb25maWd1cmU6NzE5NzogL3Vzci9iaW4vY2xhbmcgLWMg LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2VtcHR5LWJvZHkgLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0K Y29uZmlndXJlOjcyMjU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9y dHMgLVdzaWduLWNvbXBhcmUNCmNvbmZpZ3VyZTo3MjQ4OiAvdXNyL2Jpbi9jbGFuZyAtYyAt TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGlu ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1Xc2lnbi1jb21wYXJlIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUN CmNvbmZpZ3VyZTo3MzM2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3Vw cG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZQ0KY29uZmlndXJlOjczNTk6IC91c3IvYmluL2Ns YW5nKysgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9u cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMg MT4mNQ0KY29uZmlndXJlOjczODc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxl ciBzdXBwb3J0cyAtV3R5cGUtbGltaXRzDQpjb25maWd1cmU6NzQxMDogL3Vzci9iaW4vY2xh bmcrKyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVd0eXBlLWxpbWl0cyAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpj b25maWd1cmU6NzQzODogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBv cnRzIC1XZW1wdHktYm9keQ0KY29uZmlndXJlOjc0NjE6IC91c3IvYmluL2NsYW5nKysgLWMg LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XZW1wdHktYm9keSAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6 NzQ4OTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xc2ln bi1jb21wYXJlDQpjb25maWd1cmU6NzUxMjogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIgLXBp cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1XZXJyb3IgLVdzaWduLWNvbXBhcmUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjc1NDQ6 IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV25vLWludmFs aWQtb2Zmc2V0b2YNCmNvbmZpZ3VyZTo3NTY3OiAvdXNyL2Jpbi9jbGFuZysrIC1jIC1PMiAt cGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLVdlcnJvciAtV2ludmFsaWQtb2Zmc2V0b2YgLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJl Ojc2MTk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV25v LWV4dGVuZGVkLW9mZnNldG9mDQpjb25maWd1cmU6NzY0MjogL3Vzci9iaW4vY2xhbmcrKyAt YyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdleHRlbmRlZC1vZmZzZXRvZiAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpl cnJvcjogdW5rbm93biB3YXJuaW5nIG9wdGlvbiAnLVdleHRlbmRlZC1vZmZzZXRvZicgWy1X ZXJyb3IsLVd1bmtub3duLXdhcm5pbmctb3B0aW9uXQ0KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6DQojbGluZSA3NjM1ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMu aCINCg0KDQppbnQgbWFpbigpIHsNCnJldHVybigwKTsNCjsgcmV0dXJuIDA7IH0NCmNvbmZp Z3VyZTo3NjgwOiBjaGVja2luZyB3aGV0aGVyIGxkIGhhcyBhcmNoaXZlIGV4dHJhY3Rpb24g ZmxhZ3MNCmNvbmZpZ3VyZTo3NzA0OiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIg LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgLVdsLC0td2hvbGUtYXJjaGl2ZSBjb25mdGVzdC5jIC1XbCwtLW5vLXdo b2xlLWFyY2hpdmUgMT4mNQ0KY29uZmlndXJlOjc3Mzk6IGNoZWNraW5nIGZvciA2NC1iaXQg T1MNCmNvbmZpZ3VyZTo3NzQ4OiAvdXNyL2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg Y29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6Nzc0ODoxOiBlcnJvcjogJ3N0YXRpY19hc3Nl cnRfbGluZV83NzQ4JyBkZWNsYXJlZCBhcyBhbiBhcnJheSB3aXRoIGEgbmVnYXRpdmUgc2l6 ZQ0KQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoc2l6ZW9mKHZvaWQqKSA9PSA4KQ0KXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KY29uZmlndXJlOjc3NDM6 NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb206DQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUKGNvbmRpdGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24s IF9fTElORV9fKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4NCmNvbmZpZ3VyZTo3NzQ0OjU1OiBub3RlOiBleHBhbmRlZCBmcm9tOg0KI2RlZmluZSBD T05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJF X1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KY29uZmlndXJlOjc3 NDU6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb206DQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNf QVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2Vy dF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0NCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+DQoxIGVycm9yIGdl bmVyYXRlZC4NCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNzc0MSAi Y29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoNCg0KI2RlZmluZSBDT05GSUdV UkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lN UEwoY29uZGl0aW9uLCBfX0xJTkVfXykNCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NF UlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwy KGNvbmRpdGlvbiwgbGluZSkNCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1Q TDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNs aW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQ0KDQoNCmludCBtYWluKCkgew0KQ09ORklHVVJF X1NUQVRJQ19BU1NFUlQoc2l6ZW9mKHZvaWQqKSA9PSA4KQ0KOyByZXR1cm4gMDsgfQ0KY29u ZmlndXJlOjgxODM6IGNoZWNraW5nIGZvciBjdXN0b20gPHN0ZGludC5oPiBpbXBsZW1lbnRh dGlvbg0KY29uZmlndXJlOjk1MTg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGxpbmtlciBzdXBw b3J0cyBJZGVudGljYWwgQ29kZSBGb2xkaW5nDQpjb25maWd1cmU6OTUyNzogL3Vzci9iaW4v Y2xhbmcgLW8gY29uZnRlc3QgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2ws LXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC0taWNmPXNhZmUgLWZm dW5jdGlvbi1zZWN0aW9ucyBjb25mdGVzdC5jICAxPiYyDQovdXNyL2Jpbi9sZDogdW5yZWNv Z25pemVkIG9wdGlvbiAnLS1pY2Y9c2FmZScNCi91c3IvYmluL2xkOiB1c2UgdGhlIC0taGVs cCBvcHRpb24gZm9yIHVzYWdlIGluZm9ybWF0aW9uDQpjbGFuZzogZXJyb3I6IGxpbmtlciBj b21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRp b24pDQpjb25maWd1cmU6OTU5ODogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMN CmNvbmZpZ3VyZTo5NzA1OiBjaGVja2luZyBmb3Igd29ya2luZyBjb25zdA0KY29uZmlndXJl Ojk3NTk6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUNCmNvbmZpZ3VyZTo5Nzgz OiBjaGVja2luZyBmb3IgbW9kZV90DQpjb25maWd1cmU6OTgxOTogY2hlY2tpbmcgZm9yIG9m Zl90DQpjb25maWd1cmU6OTg1NTogY2hlY2tpbmcgZm9yIHBpZF90DQpjb25maWd1cmU6OTg5 MTogY2hlY2tpbmcgZm9yIHNpemVfdA0KY29uZmlndXJlOjk5MzQ6IGNoZWNraW5nIGZvciBf X3N0ZGNhbGwNCmNvbmZpZ3VyZTo5OTQ4OiAvdXNyL2Jpbi9jbGFuZysrIC1jIC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6OTk4MDogY2hlY2tpbmcgZm9yIHNz aXplX3QNCmNvbmZpZ3VyZToxMDAxODogY2hlY2tpbmcgZm9yIHN0X2Jsa3NpemUgaW4gc3Ry dWN0IHN0YXQNCmNvbmZpZ3VyZToxMDAzMTogL3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMg MT4mNQ0KY29uZmlndXJlOjEwMDI3OjE4OiB3YXJuaW5nOiBleHByZXNzaW9uIHJlc3VsdCB1 bnVzZWQgWy1XdW51c2VkLXZhbHVlXQ0Kc3RydWN0IHN0YXQgczsgcy5zdF9ibGtzaXplOw0K ICAgICAgICAgICAgICAgfiBefn5+fn5+fn5+DQoxIHdhcm5pbmcgZ2VuZXJhdGVkLg0KY29u ZmlndXJlOjEwMDU1OiBjaGVja2luZyBmb3Igc2lnaW5mb190DQpjb25maWd1cmU6MTAwNjg6 IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3Rk PWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUNCmNvbmZpZ3VyZToxMDA5NDogY2hl Y2tpbmcgZm9yIGludDY0DQpjb25maWd1cmU6MTAxMDc6IC91c3IvYmluL2NsYW5nIC1jIC1P MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5l IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jIDE+JjUNCmNvbmZpZ3VyZToxMDEwMzoxOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAnaW50NjQnDQppbnQ2NCBmb28gPSAwOw0KXg0KMSBlcnJvciBnZW5l cmF0ZWQuDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwMDk5ICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzdGRpby5oPg0K ICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KaW50IG1haW4oKSB7 DQppbnQ2NCBmb28gPSAwOw0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjEwMTMyOiBjaGVj a2luZyBmb3IgdWludA0KY29uZmlndXJlOjEwMTQ1OiAvdXNyL2Jpbi9jbGFuZyAtYyAtTzIg LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYyAxPiY1DQpjb25maWd1cmU6MTAxNzA6IGNoZWNraW5nIGZvciB1aW50X3QNCmNvbmZp Z3VyZToxMDE4MzogL3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJl OjEwMTc5OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludF90JzsgZGlkIHlvdSBt ZWFuICd1aW50OF90Jz8NCnVpbnRfdCBmb28gPSAwOw0KXn5+fn5+DQp1aW50OF90DQovdXNy L2luY2x1ZGUvc3lzL19zdGRpbnQuaDo1NDoyMDogbm90ZTogJ3VpbnQ4X3QnIGRlY2xhcmVk IGhlcmUNCnR5cGVkZWYgX191aW50OF90ICAgICAgICAgICAgICAgdWludDhfdDsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KMSBlcnJvciBnZW5lcmF0ZWQuDQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwMTc1ICJjb25maWd1cmUiDQoj aW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzdGRpby5oPg0KICAgICAgICAgICAg ICAgICAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KaW50IG1haW4oKSB7DQp1aW50X3QgZm9v ID0gMDsNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZToxMDIxNzogY2hlY2tpbmcgZm9yIHVu YW1lLmRvbWFpbm5hbWUNCmNvbmZpZ3VyZToxMDIzMDogL3Vzci9iaW4vY2xhbmcrKyAtYyAt TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjEwMjI2OjYyOiBlcnJv cjogbm8gbWVtYmVyIG5hbWVkICdkb21haW5uYW1lJyBpbiAndXRzbmFtZScNCiAgICAgICAg ICAgICh2b2lkKXVuYW1lKHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0gcmVzLT5k b21haW5uYW1lOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn4gIF4NCjEgZXJyb3IgZ2VuZXJhdGVkLg0KY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxMDIyMiAiY29uZmlndXJlIg0KI2luY2x1 ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4NCmludCBtYWluKCkg ew0KIHN0cnVjdCB1dHNuYW1lICpyZXM7IGNoYXIgKmRvbWFpbjsNCiAgICAgICAgICAgICh2 b2lkKXVuYW1lKHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0gcmVzLT5kb21haW5u YW1lOyB9IA0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjEwMjU3OiBjaGVja2luZyBmb3Ig dW5hbWUuX19kb21haW5uYW1lDQpjb25maWd1cmU6MTAyNzA6IC91c3IvYmluL2NsYW5nKysg LWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToxMDI2Njo2Mjog ZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnX19kb21haW5uYW1lJyBpbiAndXRzbmFtZScNCiAg ICAgICAgICAgICh2b2lkKXVuYW1lKHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0g cmVzLT5fX2RvbWFpbm5hbWU7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fiAgXg0KMSBlcnJvciBnZW5lcmF0ZWQuDQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEwMjYyICJjb25maWd1cmUi DQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPg0KaW50 IG1haW4oKSB7DQogc3RydWN0IHV0c25hbWUgKnJlczsgY2hhciAqZG9tYWluOw0KICAgICAg ICAgICAgKHZvaWQpdW5hbWUocmVzKTsgIGlmIChyZXMgIT0gMCkgeyBkb21haW4gPSByZXMt Pl9fZG9tYWlubmFtZTsgfSANCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZToxMDMwOTogY2hl Y2tpbmcgZm9yIGdjYyBjKysweCBoZWFkZXJzIGJ1ZyB3aXRob3V0IHJ0dGkNCmNvbmZpZ3Vy ZToxMDMyMTogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0 ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToxMDM3MzogY2hlY2tpbmcgZm9yIHVzYWJs ZSBjaGFyMTZfdCAoMiBieXRlcywgdW5zaWduZWQpDQpjb25maWd1cmU6MTAzODk6IC91c3Iv YmluL2NsYW5nKysgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAx PiY1DQpjb25maWd1cmU6MTA0MTc6IGNoZWNraW5nIGZvciB1c2FibGUgd2NoYXJfdCAoMiBi eXRlcywgdW5zaWduZWQpDQpjb25maWd1cmU6MTA0MzE6IC91c3IvYmluL2NsYW5nKysgLWMg LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6 MTA0MzA6MTogZXJyb3I6ICdzdGF0aWNfYXNzZXJ0X2xpbmVfMTA0MzAnIGRlY2xhcmVkIGFz IGFuIGFycmF5IHdpdGggYSBuZWdhdGl2ZSBzaXplDQpDT05GSUdVUkVfU1RBVElDX0FTU0VS VChzaXplb2Yod2NoYXJfdCkgPT0gMik7DQpefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4NCmNvbmZpZ3VyZToxMDQyNTo0NDogbm90ZTogZXhwYW5kZWQg ZnJvbToNCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KY29uZmlndXJlOjEwNDI2 OjU1OiBub3RlOiBleHBhbmRlZCBmcm9tOg0KI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FT U0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1Q TDIoY29uZGl0aW9uLCBsaW5lKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXg0KY29uZmlndXJlOjEwNDI3Ojk0OiBub3RlOiBleHBh bmRlZCBmcm9tOg0KI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25k aXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNv bmRpdGlvbikgPyAxIDogLTFdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fg0KY29uZmlndXJlOjEwNDMxOjIyOiBlcnJvcjog J3N0YXRpY19hc3NlcnRfbGluZV8xMDQzMScgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBh IG5lZ2F0aXZlIHNpemUNCiAgICAgICAgICAgICAgICAgICAgIENPTkZJR1VSRV9TVEFUSUNf QVNTRVJUKCh3Y2hhcl90KS0xID4gKHdjaGFyX3QpIDApDQogICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0K Y29uZmlndXJlOjEwNDI1OjQ0OiBub3RlOiBleHBhbmRlZCBmcm9tOg0KI2RlZmluZSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJU X0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeDQpjb25maWd1cmU6MTA0MjY6NTU6IG5vdGU6IGV4cGFuZGVk IGZyb206DQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9u LCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeDQpjb25maWd1cmU6MTA0Mjc6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb206DQojZGVmaW5l IENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRl ZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+DQoyIGVycm9ycyBnZW5lcmF0ZWQuDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoNCiNsaW5lIDEwNDIyICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCIN CiNpbmNsdWRlIDxzdGRkZWYuaD4NCiAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBD T05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykNCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJ Q19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJU X0lNUEwyKGNvbmRpdGlvbiwgbGluZSkNCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NF UlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xp bmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQ0KDQoNCmludCBtYWluKCkgew0KQ09O RklHVVJFX1NUQVRJQ19BU1NFUlQoc2l6ZW9mKHdjaGFyX3QpID09IDIpOw0KICAgICAgICAg ICAgICAgICAgICAgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoKHdjaGFyX3QpLTEgPiAod2No YXJfdCkgMCkNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZToxMDUxOTogY2hlY2tpbmcgZm9y IHZpc2liaWxpdHkoaGlkZGVuKSBhdHRyaWJ1dGUNCmNvbmZpZ3VyZToxMDU0NzogY2hlY2tp bmcgZm9yIHZpc2liaWxpdHkoZGVmYXVsdCkgYXR0cmlidXRlDQpjb25maWd1cmU6MTA1NzU6 IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5IHByYWdtYSBzdXBwb3J0DQpjb25maWd1cmU6MTA2 MDA6IGNoZWNraW5nIEZvciBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBjbGFzcy1sZXZlbCBh dHRyaWJ1dGVzIChHQ0MgYnVnIDI2OTA1KQ0KY29uZmlndXJlOjEwNjI4OiBjaGVja2luZyBG b3IgeDg2XzY0IGdjYyB2aXNpYmlsaXR5IGJ1ZyB3aXRoIGJ1aWx0aW5zIChHQ0MgYnVnIDIw Mjk3KQ0KY29uZmlndXJlOjEwNjgzOiBjaGVja2luZyBmb3IgZ2NjIFBSNDk5MTENCmNvbmZp Z3VyZToxMDc0NDogL3Vzci9iaW4vY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNr IGNvbmZ0ZXN0LkMgIDE+JjUNCmNvbmZpZ3VyZToxMDc3NzogY2hlY2tpbmcgZm9yIGdjYyBw cjM5NjA4DQpjb25maWd1cmU6MTA4MDc6IC91c3IvYmluL2NsYW5nKysgLWMgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6MTA4MDM6MTog d2FybmluZzogZXhwcmVzc2lvbiByZXN1bHQgdW51c2VkIFstV3VudXNlZC12YWx1ZV0NCnRy dWUNCl5+fn4NCjEgd2FybmluZyBnZW5lcmF0ZWQuDQpjb25maWd1cmU6MTA4MzQ6IGNoZWNr aW5nIGZvciBsbHZtIHByODkyNw0KY29uZmlndXJlOjEwODc0OiAvdXNyL2Jpbi9jbGFuZyAt byBjb25mdGVzdCAtTzIgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUNCmNvbmZpZ3VyZTox MDkxMTogY2hlY2tpbmcgZm9yIF9fZm9yY2VfYWxpZ25fYXJnX3BvaW50ZXJfXyBhdHRyaWJ1 dGUNCmNvbmZpZ3VyZToxMDkyMzogL3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBlIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVdlcnJvciAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyAxPiY1DQpjb25maWd1cmU6MTA5NTA6IGNoZWNraW5nIGZvciBkaXJlbnQuaCB0aGF0IGRl ZmluZXMgRElSDQpjb25maWd1cmU6MTA5NjM6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUNCmNvbmZpZ3VyZToxMDk5MTogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWxkaXIN CmNvbmZpZ3VyZToxMTAxMDogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9j YWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhl Y3N0YWNrIGNvbmZ0ZXN0LmMgLWxkaXIgICAxPiY1DQovdXNyL2Jpbi9sZDogY2Fubm90IGZp bmQgLWxkaXINCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhp dCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikNCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOg0KI2xpbmUgMTA5OTkgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25m ZGVmcy5oIg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLiAgKi8NCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBvcGVu ZGlyKCk7DQoNCg0KaW50IG1haW4oKSB7DQpvcGVuZGlyKCkNCjsgcmV0dXJuIDA7IH0NCmNv bmZpZ3VyZToxMTA4NTogY2hlY2tpbmcgZm9yIHN5cy9ieXRlb3JkZXIuaA0KY29uZmlndXJl OjExMDk4OiAvdXNyL2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgMT4mNQ0KY29uZmlndXJlOjExMDkyOjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9ieXRlb3Jk ZXIuaCcgZmlsZSBub3QgZm91bmQNCiNpbmNsdWRlIDxzeXMvYnl0ZW9yZGVyLmg+DQogICAg ICAgICBeDQoxIGVycm9yIGdlbmVyYXRlZC4NCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOg0KI2xpbmUgMTEwOTAgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0K DQoNCiNpbmNsdWRlIDxzeXMvYnl0ZW9yZGVyLmg+DQppbnQgbWFpbigpIHsNCg0KDQo7IHJl dHVybiAwOyB9DQpjb25maWd1cmU6MTEwODU6IGNoZWNraW5nIGZvciBjb21wYXQuaA0KY29u ZmlndXJlOjExMDk4OiAvdXNyL2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJlOjExMDkyOjEwOiBmYXRhbCBlcnJvcjogJ2NvbXBh dC5oJyBmaWxlIG5vdCBmb3VuZA0KI2luY2x1ZGUgPGNvbXBhdC5oPg0KICAgICAgICAgXg0K MSBlcnJvciBnZW5lcmF0ZWQuDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNs aW5lIDExMDkwICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KDQojaW5j bHVkZSA8Y29tcGF0Lmg+DQppbnQgbWFpbigpIHsNCg0KDQo7IHJldHVybiAwOyB9DQpjb25m aWd1cmU6MTEwODU6IGNoZWNraW5nIGZvciBnZXRvcHQuaA0KY29uZmlndXJlOjExMDg1OiBj aGVja2luZyBmb3Igc3lzL2JpdHlwZXMuaA0KY29uZmlndXJlOjExMDk4OiAvdXNyL2Jpbi9j bGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdu dTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJl OjExMDkyOjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9iaXR5cGVzLmgnIGZpbGUgbm90IGZvdW5k DQojaW5jbHVkZSA8c3lzL2JpdHlwZXMuaD4NCiAgICAgICAgIF4NCjEgZXJyb3IgZ2VuZXJh dGVkLg0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxMTA5MCAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoNCg0KI2luY2x1ZGUgPHN5cy9iaXR5 cGVzLmg+DQppbnQgbWFpbigpIHsNCg0KDQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6MTEw ODU6IGNoZWNraW5nIGZvciBtZW1vcnkuaA0KY29uZmlndXJlOjExMDg1OiBjaGVja2luZyBm b3IgdW5pc3RkLmgNCmNvbmZpZ3VyZToxMTA4NTogY2hlY2tpbmcgZm9yIGdudS9saWJjLXZl cnNpb24uaA0KY29uZmlndXJlOjExMDk4OiAvdXNyL2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJlOjExMDkyOjEwOiBmYXRhbCBl cnJvcjogJ2dudS9saWJjLXZlcnNpb24uaCcgZmlsZSBub3QgZm91bmQNCiNpbmNsdWRlIDxn bnUvbGliYy12ZXJzaW9uLmg+DQogICAgICAgICBeDQoxIGVycm9yIGdlbmVyYXRlZC4NCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTEwOTAgImNvbmZpZ3VyZSIN CiNpbmNsdWRlICJjb25mZGVmcy5oIg0KDQoNCiNpbmNsdWRlIDxnbnUvbGliYy12ZXJzaW9u Lmg+DQppbnQgbWFpbigpIHsNCg0KDQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6MTEwODU6 IGNoZWNraW5nIGZvciBubF90eXBlcy5oDQpjb25maWd1cmU6MTEwOTg6IC91c3IvYmluL2Ns YW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251 ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6 MTEwODU6IGNoZWNraW5nIGZvciBtYWxsb2MuaA0KY29uZmlndXJlOjExMDg1OiBjaGVja2lu ZyBmb3IgWDExL1hLQmxpYi5oDQpjb25maWd1cmU6MTEwOTg6IC91c3IvYmluL2NsYW5nIC1j IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6MTEwODU6 IGNoZWNraW5nIGZvciBpby5oDQpjb25maWd1cmU6MTEwOTg6IC91c3IvYmluL2NsYW5nIC1j IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6MTEwOTI6 MTA6IGZhdGFsIGVycm9yOiAnaW8uaCcgZmlsZSBub3QgZm91bmQNCiNpbmNsdWRlIDxpby5o Pg0KICAgICAgICAgXg0KMSBlcnJvciBnZW5lcmF0ZWQuDQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDExMDkwICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRl ZnMuaCINCg0KDQojaW5jbHVkZSA8aW8uaD4NCmludCBtYWluKCkgew0KDQoNCjsgcmV0dXJu IDA7IH0NCmNvbmZpZ3VyZToxMTA4NTogY2hlY2tpbmcgZm9yIGNwdWlkLmgNCmNvbmZpZ3Vy ZToxMTA5ODogL3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jIDE+JjUNCmNvbmZpZ3VyZToxMTA5MjoxMDogZmF0YWwgZXJyb3I6ICdjcHVpZC5oJyBm aWxlIG5vdCBmb3VuZA0KI2luY2x1ZGUgPGNwdWlkLmg+DQogICAgICAgICBeDQoxIGVycm9y IGdlbmVyYXRlZC4NCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTEw OTAgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KDQoNCiNpbmNsdWRlIDxj cHVpZC5oPg0KaW50IG1haW4oKSB7DQoNCg0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjEx MTMzOiBjaGVja2luZyBmb3Igc3lzL3N0YXR2ZnMuaA0KY29uZmlndXJlOjExMTQ2OiAvdXNy L2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5 OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29u ZmlndXJlOjExMTMzOiBjaGVja2luZyBmb3Igc3lzL3N0YXRmcy5oDQpjb25maWd1cmU6MTEx NDY6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAx PiY1DQpjb25maWd1cmU6MTExNDA6MTA6IGZhdGFsIGVycm9yOiAnc3lzL3N0YXRmcy5oJyBm aWxlIG5vdCBmb3VuZA0KI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4NCiAgICAgICAgIF4NCjEg ZXJyb3IgZ2VuZXJhdGVkLg0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSAxMTEzOCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoNCg0KI2luY2x1 ZGUgPHN5cy9zdGF0ZnMuaD4NCmludCBtYWluKCkgew0KDQoNCjsgcmV0dXJuIDA7IH0NCmNv bmZpZ3VyZToxMTEzMzogY2hlY2tpbmcgZm9yIHN5cy92ZnMuaA0KY29uZmlndXJlOjExMTQ2 OiAvdXNyL2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQ0KY29uZmlndXJlOjExMTQwOjEwOiBmYXRhbCBlcnJvcjogJ3N5cy92ZnMuaCcgZmlsZSBu b3QgZm91bmQNCiNpbmNsdWRlIDxzeXMvdmZzLmg+DQogICAgICAgICBeDQoxIGVycm9yIGdl bmVyYXRlZC4NCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTExMzgg ImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KDQoNCiNpbmNsdWRlIDxzeXMv dmZzLmg+DQppbnQgbWFpbigpIHsNCg0KDQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6MTEx MzM6IGNoZWNraW5nIGZvciBzeXMvbW91bnQuaA0KY29uZmlndXJlOjExMTQ2OiAvdXNyL2Jp bi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmln dXJlOjExMTgwOiBjaGVja2luZyBmb3Igc3lzL3F1b3RhLmgNCmNvbmZpZ3VyZToxMTE5Mzog L3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUN CmNvbmZpZ3VyZToxMTE4NzoxMDogZmF0YWwgZXJyb3I6ICdzeXMvcXVvdGEuaCcgZmlsZSBu b3QgZm91bmQNCiNpbmNsdWRlIDxzeXMvcXVvdGEuaD4NCiAgICAgICAgIF4NCjEgZXJyb3Ig Z2VuZXJhdGVkLg0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxMTE4 NSAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoNCg0KI2luY2x1ZGUgPHN5 cy9xdW90YS5oPg0KaW50IG1haW4oKSB7DQoNCg0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJl OjExMTgwOiBjaGVja2luZyBmb3Igc3lzL3N5c21hY3Jvcy5oDQpjb25maWd1cmU6MTExOTM6 IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3Rk PWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 DQpjb25maWd1cmU6MTExODc6MTA6IGZhdGFsIGVycm9yOiAnc3lzL3N5c21hY3Jvcy5oJyBm aWxlIG5vdCBmb3VuZA0KI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4NCiAgICAgICAgIF4N CjEgZXJyb3IgZ2VuZXJhdGVkLg0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQoj bGluZSAxMTE4NSAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoNCg0KI2lu Y2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4NCmludCBtYWluKCkgew0KDQoNCjsgcmV0dXJuIDA7 IH0NCmNvbmZpZ3VyZToxMTIyNjogY2hlY2tpbmcgZm9yIGxpbnV4L3F1b3RhLmgNCmNvbmZp Z3VyZToxMTIzOTogL3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jIDE+JjUNCmNvbmZpZ3VyZToxMTIzMzoxMDogZmF0YWwgZXJyb3I6ICdsaW51eC9x dW90YS5oJyBmaWxlIG5vdCBmb3VuZA0KI2luY2x1ZGUgPGxpbnV4L3F1b3RhLmg+DQogICAg ICAgICBeDQoxIGVycm9yIGdlbmVyYXRlZC4NCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOg0KI2xpbmUgMTEyMzEgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0K I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxsaW51eC9xdW90YS5oPg0KaW50 IG1haW4oKSB7DQoNCg0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjExMjczOiBjaGVja2lu ZyBmb3IgbGludXgvaWZfYWRkci5oDQpjb25maWd1cmU6MTEyODY6IC91c3IvYmluL2NsYW5n IC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODkt aW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRh LXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6MTEy ODA6MTA6IGZhdGFsIGVycm9yOiAnbGludXgvaWZfYWRkci5oJyBmaWxlIG5vdCBmb3VuZA0K I2luY2x1ZGUgPGxpbnV4L2lmX2FkZHIuaD4NCiAgICAgICAgIF4NCjEgZXJyb3IgZ2VuZXJh dGVkLg0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAxMTI3OCAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lzL3NvY2tldC5o Pg0KI2luY2x1ZGUgPGxpbnV4L2lmX2FkZHIuaD4NCmludCBtYWluKCkgew0KDQoNCjsgcmV0 dXJuIDA7IH0NCmNvbmZpZ3VyZToxMTI3MzogY2hlY2tpbmcgZm9yIGxpbnV4L3J0bmV0bGlu ay5oDQpjb25maWd1cmU6MTEyODY6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6MTEyODA6MTA6IGZhdGFsIGVycm9y OiAnbGludXgvcnRuZXRsaW5rLmgnIGZpbGUgbm90IGZvdW5kDQojaW5jbHVkZSA8bGludXgv cnRuZXRsaW5rLmg+DQogICAgICAgICBeDQoxIGVycm9yIGdlbmVyYXRlZC4NCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTEyNzggImNvbmZpZ3VyZSINCiNpbmNs dWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxs aW51eC9ydG5ldGxpbmsuaD4NCmludCBtYWluKCkgew0KDQoNCjsgcmV0dXJuIDA7IH0NCmNv bmZpZ3VyZToxMTMyMDogY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oDQpjb25maWd1cmU6MTEz MjA6IGNoZWNraW5nIGZvciBuZXRpbmV0L2luLmgNCmNvbmZpZ3VyZToxMTMyMDogY2hlY2tp bmcgZm9yIGJ5dGVzd2FwLmgNCmNvbmZpZ3VyZToxMTM2NDogY2hlY2tpbmcgZm9yIHNvY2th ZGRyX2luLnNpbl9sZW4NCmNvbmZpZ3VyZToxMTM4MTogL3Vzci9iaW4vY2xhbmcgLWMgLU8y IC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUNCmNvbmZpZ3VyZToxMTQxMjogY2hl Y2tpbmcgZm9yIHNvY2thZGRyX2luNi5zaW42X2xlbg0KY29uZmlndXJlOjExNDI5OiAvdXNy L2Jpbi9jbGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5 OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29u ZmlndXJlOjExNDUzOiBjaGVja2luZyBmb3Igc29ja2FkZHIuc2FfbGVuDQpjb25maWd1cmU6 MTE0NzA6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyAxPiY1DQpjb25maWd1cmU6MTE1MDM6IGNoZWNraW5nIGZvciBuZXcNCmNvbmZpZ3VyZTox MTUxNjogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1n bnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6MTE2MTU6 IGNoZWNraW5nIGZvciBzeXMvY2RlZnMuaA0KY29uZmlndXJlOjExNjI4OiAvdXNyL2Jpbi9j bGFuZyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdu dTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJl OjExNjgwOiBjaGVja2luZyBmb3IgbGludXgvcGVyZl9ldmVudC5oDQpjb25maWd1cmU6MTE2 OTM6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zICAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMg MT4mNQ0KY29uZmlndXJlOjExNjg3OjEwOiBmYXRhbCBlcnJvcjogJ2xpbnV4L3BlcmZfZXZl bnQuaCcgZmlsZSBub3QgZm91bmQNCiNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+DQog ICAgICAgICBeDQoxIGVycm9yIGdlbmVyYXRlZC4NCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOg0KI2xpbmUgMTE2ODUgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5o Ig0KDQoNCiNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+DQppbnQgbWFpbigpIHsNCg0K DQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6MTE3NTY6IGNoZWNraW5nIGZvciBnZXRob3N0 YnluYW1lX3IgaW4gLWxjX3INCmNvbmZpZ3VyZToxMTc3NTogL3Vzci9iaW4vY2xhbmcgLW8g Y29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZn bnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVz dC5jIC1sY19yICAgMT4mNQ0KL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sY19yDQpjbGFu ZzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2Ug LXYgdG8gc2VlIGludm9jYXRpb24pDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoN CiNsaW5lIDExNzY0ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIE92 ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4g ICovDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgZ2V0aG9zdGJ5bmFtZV9yKCk7 DQoNCg0KaW50IG1haW4oKSB7DQpnZXRob3N0YnluYW1lX3IoKQ0KOyByZXR1cm4gMDsgfQ0K Y29uZmlndXJlOjExODE2OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGRsb3Bl bg0KY29uZmlndXJlOjExODM0OiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBp cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0 aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUNCmNvbmZp Z3VyZToxMTg3NDogY2hlY2tpbmcgZm9yIGRsZmNuLmgNCmNvbmZpZ3VyZToxMTkyNDogY2hl Y2tpbmcgZm9yIGRsYWRkcg0KY29uZmlndXJlOjExOTUyOiAvdXNyL2Jpbi9jbGFuZyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdu dTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtRF9HTlVfU09VUkNFIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2Nh bC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVj c3RhY2sgY29uZnRlc3QuYyAgMT4mNQ0KY29uZmlndXJlOjExOTI0OiBjaGVja2luZyBmb3Ig bWVtbWVtDQpjb25maWd1cmU6MTE5NTI6IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5l IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1EX0dOVV9TT1VSQ0UgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25m dGVzdC5jICAxPiY1DQpjb25maWd1cmU6MTIwOTY6IGNoZWNraW5nIGZvciBzb2NrZXQgaW4g LWxzb2NrZXQNCmNvbmZpZ3VyZToxMjExNTogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3Qg LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1sc29j a2V0ICAgMT4mNQ0KL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sc29ja2V0DQpjbGFuZzog ZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYg dG8gc2VlIGludm9jYXRpb24pDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNs aW5lIDEyMTA0ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIE92ZXJy aWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov DQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgc29ja2V0KCk7DQoNCg0KaW50IG1h aW4oKSB7DQpzb2NrZXQoKQ0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjEyMTcwOiBjaGVj a2luZyBmb3IgWERyYXdMaW5lcyBpbiAtbFgxMQ0KY29uZmlndXJlOjEyMTg5OiAvdXNyL2Jp bi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwv bGliICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklH SU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxYMTEgLWxYMTEgICAxPiY1DQpj b25maWd1cmU6MTIyMTE6IGNoZWNraW5nIGZvciBYZXh0QWRkRGlzcGxheSBpbiAtbFhleHQN CmNvbmZpZ3VyZToxMjIzMDogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVz dC5jIC1sWGV4dCAtbFgxMSAgIDE+JjUNCmNvbmZpZ3VyZToxMjI1MzogY2hlY2tpbmcgZm9y IFh0RnJlZSBpbiAtbFh0DQpjb25maWd1cmU6MTIyNzI6IC91c3IvYmluL2NsYW5nIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251 ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgY29uZnRlc3QuYyAtbFh0ICAgMT4mNQ0KY29uZmlndXJlOjEyNDI2OiBjaGVj a2luZyBmb3IgWFNobUNyZWF0ZUltYWdlIGluIC1sWGV4dA0KY29uZmlndXJlOjEyNDQ1OiAv dXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3Iv bG9jYWwvbGliICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxYZXh0IC1sWDExICAt bFhleHQgIDE+JjUNCmNvbmZpZ3VyZToxMjQ2ODogY2hlY2tpbmcgZm9yIFgxMS9leHRlbnNp b25zL3Njcm5zYXZlci5oDQpjb25maWd1cmU6MTI0ODE6IC91c3IvYmluL2NsYW5nIC1jIC1P MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5l IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6MTI0OTY6IGNo ZWNraW5nIGZvciBYU2NyZWVuU2F2ZXJRdWVyeUluZm8gaW4gLWxYc3MNCmNvbmZpZ3VyZTox MjUxNTogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAg LUwvdXNyL2xvY2FsL2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1sWHNzIC1s WGV4dCAtbFgxMSAgIDE+JjUNCmNvbmZpZ3VyZToxMjU2NTogY2hlY2tpbmcgZm9yIHB0aHJl YWRfY3JlYXRlIGluIC1scHRocmVhZHMNCi91c3IvYmluL2NsYW5nIC1vIGR1bW15IGR1bW15 LmMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1p bmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtbHB0aHJlYWRzICAtTC91c3IvbG9jYWwvbGliIC1X bCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIA0K ZHVtbXkuYzo0OjM4OiB3YXJuaW5nOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lk IGZ1bmN0aW9uIFstV3JldHVybi10eXBlXQ0KICAgIHZvaWQgKmZvbyh2b2lkICp2KSB7IGlu dCBhID0gMTsgIH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0K MSB3YXJuaW5nIGdlbmVyYXRlZC4NCi91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbHB0aHJl YWRzDQpjbGFuZzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29k ZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pDQpjb25maWd1cmU6MTI1ODg6IGNoZWNr aW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWQNCi91c3IvYmluL2NsYW5nIC1v IGR1bW15IGR1bW15LmMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251 OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtbHB0aHJlYWQgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgDQpkdW1teS5jOjQ6Mzg6IHdhcm5pbmc6IGNvbnRyb2wgcmVhY2hlcyBlbmQg b2Ygbm9uLXZvaWQgZnVuY3Rpb24gWy1XcmV0dXJuLXR5cGVdDQogICAgdm9pZCAqZm9vKHZv aWQgKnYpIHsgaW50IGEgPSAxOyAgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeDQoxIHdhcm5pbmcgZ2VuZXJhdGVkLg0KY29uZmlndXJlOjEyNjkzOiBjaGVj a2luZyB3aGV0aGVyIC91c3IvYmluL2NsYW5nIGFjY2VwdHMgLXB0aHJlYWQNCmNvbmZpZ3Vy ZToxMjgyMTogY2hlY2tpbmcgd2hldGhlciAvdXNyL2Jpbi9jbGFuZyBuZWVkcyAtdHJhZGl0 aW9uYWwNCmNvbmZpZ3VyZToxMjgyODoxMDogZmF0YWwgZXJyb3I6ICdzZ3R0eS5oJyBmaWxl IG5vdCBmb3VuZA0KI2luY2x1ZGUgPHNndHR5Lmg+DQogICAgICAgICBeDQoxIGVycm9yIGdl bmVyYXRlZC4NCmNvbmZpZ3VyZToxMjg0NjoxMDogZmF0YWwgZXJyb3I6ICd0ZXJtaW8uaCcg ZmlsZSBub3QgZm91bmQNCiNpbmNsdWRlIDx0ZXJtaW8uaD4NCiAgICAgICAgIF4NCjEgZXJy b3IgZ2VuZXJhdGVkLg0KY29uZmlndXJlOjEyODY3OiBjaGVja2luZyBmb3IgOC1iaXQgY2xl YW4gbWVtY21wDQpjb25maWd1cmU6MTI4ODU6IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16 LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRl c3QuYyAgMT4mNQ0KY29uZmlndXJlOjEyODc3OjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVy IG1pc3NpbmcsIGRlZmF1bHRzIHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0NCm1haW4oKQ0K Xn5+fg0KY29uZmlndXJlOjEyODgwOjM6IHdhcm5pbmc6IGltcGxpY2l0bHkgZGVjbGFyaW5n IEMgbGlicmFyeSBmdW5jdGlvbiAnZXhpdCcgd2l0aCB0eXBlICd2b2lkIChpbnQpIF9fYXR0 cmlidXRlX18oKG5vcmV0dXJuKSknDQogIGV4aXQobWVtY21wKCZjMCwgJmMyLCAxKSA8IDAg JiYgbWVtY21wKCZjMSwgJmMyLCAxKSA8IDAgPyAwIDogMSk7DQogIF4NCmNvbmZpZ3VyZTox Mjg4MDozOiBub3RlOiBwbGVhc2UgaW5jbHVkZSB0aGUgaGVhZGVyIDxzdGRsaWIuaD4gb3Ig ZXhwbGljaXRseSBwcm92aWRlIGEgZGVjbGFyYXRpb24gZm9yICdleGl0Jw0KY29uZmlndXJl OjEyODgwOjg6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdt ZW1jbXAnIGlzIGludmFsaWQgaW4gQzk5IFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQ0KICBleGl0KG1lbWNtcCgmYzAsICZjMiwgMSkgPCAwICYmIG1lbWNtcCgmYzEsICZj MiwgMSkgPCAwID8gMCA6IDEpOw0KICAgICAgIF4NCjMgd2FybmluZ3MgZ2VuZXJhdGVkLg0K Y29uZmlndXJlOjEyOTA1OiBjaGVja2luZyBmb3IgcmFuZG9tDQpjb25maWd1cmU6MTI5MzM6 IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJl YWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQ0KY29uZmlndXJlOjEyOTA1 OiBjaGVja2luZyBmb3Igc3RyZXJyb3INCmNvbmZpZ3VyZToxMjkwNTogY2hlY2tpbmcgZm9y IGxjaG93bg0KY29uZmlndXJlOjEyOTMzOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGlu ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixv cmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0 LmMgIDE+JjUNCmNvbmZpZ3VyZToxMjkwNTogY2hlY2tpbmcgZm9yIGZjaG1vZA0KY29uZmln dXJlOjEyOTMzOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0 aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUNCmNvbmZp Z3VyZToxMjkwNTogY2hlY2tpbmcgZm9yIHNucHJpbnRmDQpjb25maWd1cmU6MTI5MDU6IGNo ZWNraW5nIGZvciBtZW1tb3ZlDQpjb25maWd1cmU6MTI5MDU6IGNoZWNraW5nIGZvciByaW50 DQpjb25maWd1cmU6MTI5MzM6IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4m NQ0KL3RtcC9jb25mdGVzdC1TeTdjazQubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZnRl c3QuYzooLnRleHQubWFpbisweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGByaW50Jw0K Y2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAo dXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6DQojbGluZSAxMjkxMCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQov KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciByaW50 KCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQovKiBXZSB1 c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBn Y2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgcmludCgpOw0KDQoNCmludCBtYWluKCkgew0KDQoN Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNo IGl0IGltcGxlbWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmlu ZWQgKF9fc3R1Yl9yaW50KSB8fCBkZWZpbmVkIChfX3N0dWJfX19yaW50KQ0KY2hva2UgbWUN CiNlbHNlDQpyaW50KCk7DQojZW5kaWYNCg0KDQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6 MTI5MDU6IGNoZWNraW5nIGZvciBzdGF0NjQNCmNvbmZpZ3VyZToxMjkzMzogL3Vzci9iaW4v Y2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixu b2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1DQovdG1wL2NvbmZ0ZXN0LUpmQjU3Ni5vOiBJ biBmdW5jdGlvbiBgbWFpbic6DQpjb25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYHN0YXQ2NCcNCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1h bmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikN CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTI5MTAgImNvbmZpZ3Vy ZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdDY0KCk7IGJlbG93LiAgKi8NCiNpbmNsdWRl IDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4gICovDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIg c3RhdDY0KCk7DQoNCg0KaW50IG1haW4oKSB7DQoNCg0KLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5 IG5hbWVkDQogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovDQojaWYgZGVmaW5lZCAoX19zdHViX3N0YXQ2NCkgfHwg ZGVmaW5lZCAoX19zdHViX19fc3RhdDY0KQ0KY2hva2UgbWUNCiNlbHNlDQpzdGF0NjQoKTsN CiNlbmRpZg0KDQoNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZToxMjkwNTogY2hlY2tpbmcg Zm9yIGxzdGF0NjQNCmNvbmZpZ3VyZToxMjkzMzogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRl c3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1p bmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25m dGVzdC5jICAxPiY1DQovdG1wL2NvbmZ0ZXN0LVdpYVIxcy5vOiBJbiBmdW5jdGlvbiBgbWFp bic6DQpjb25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8gYGxzdGF0NjQnDQpjbGFuZzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRo IGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pDQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEyOTEwICJjb25maWd1cmUiDQojaW5jbHVkZSAi Y29uZmRlZnMuaCINCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIGxzdGF0NjQoKTsgYmVsb3cuICAqLw0KI2luY2x1ZGUgPGFzc2VydC5oPg0K LyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLiAgKi8NCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBsc3RhdDY0KCk7DQoN Cg0KaW50IG1haW4oKSB7DQoNCg0KLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KICAgIHRvIGFsd2F5cyBmYWls IHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQogICAg c29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovDQojaWYgZGVmaW5lZCAoX19zdHViX2xzdGF0NjQpIHx8IGRlZmluZWQgKF9f c3R1Yl9fX2xzdGF0NjQpDQpjaG9rZSBtZQ0KI2Vsc2UNCmxzdGF0NjQoKTsNCiNlbmRpZg0K DQoNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZToxMjkwNTogY2hlY2tpbmcgZm9yIHRydW5j YXRlNjQNCmNvbmZpZ3VyZToxMjkzMzogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8y IC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3Jp Z2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5j ICAxPiY1DQovdG1wL2NvbmZ0ZXN0LURLWE05TC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6DQpj b25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHRy dW5jYXRlNjQnDQpjbGFuZzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4 aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pDQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoNCiNsaW5lIDEyOTEwICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29u ZmRlZnMuaCINCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5k IGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIHRydW5jYXRlNjQoKTsgYmVsb3cuICAqLw0KI2luY2x1ZGUgPGFzc2VydC5oPg0K LyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLiAgKi8NCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciB0cnVuY2F0ZTY0KCk7 DQoNCg0KaW50IG1haW4oKSB7DQoNCg0KLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQog ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovDQojaWYgZGVmaW5lZCAoX19zdHViX3RydW5jYXRlNjQpIHx8IGRlZmlu ZWQgKF9fc3R1Yl9fX3RydW5jYXRlNjQpDQpjaG9rZSBtZQ0KI2Vsc2UNCnRydW5jYXRlNjQo KTsNCiNlbmRpZg0KDQoNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZToxMjkwNTogY2hlY2tp bmcgZm9yIHNldGJ1Zg0KY29uZmlndXJlOjEyOTMzOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25m dGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5 LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1X bCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNv bmZ0ZXN0LmMgIDE+JjUNCmNvbmZpZ3VyZToxMjkwNTogY2hlY2tpbmcgZm9yIGlzYXR0eQ0K Y29uZmlndXJlOjEyOTMzOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVds LC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUN CmNvbmZpZ3VyZToxMjk2MzogY2hlY2tpbmcgZm9yIHN0YXR2ZnM2NA0KY29uZmlndXJlOjEy OTkxOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1w dGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUNCi90bXAvY29uZnRl c3QtYlNPaFdWLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZ0ZXN0LmM6KC50ZXh0Lm1h aW4rMHg3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RhdHZmczY0Jw0KY2xhbmc6IGVy cm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRv IHNlZSBpbnZvY2F0aW9uKQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSAxMjk2OCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsDQogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdGF0dmZzNjQoKTsg YmVsb3cuICAqLw0KI2luY2x1ZGUgPGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIN CiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLw0KY2hhciBzdGF0dmZzNjQoKTsNCg0KDQppbnQgbWFpbigpIHsNCg0K DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj aCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcg d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZp bmVkIChfX3N0dWJfc3RhdHZmczY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19zdGF0dmZzNjQp DQpjaG9rZSBtZQ0KI2Vsc2UNCnN0YXR2ZnM2NCgpOw0KI2VuZGlmDQoNCg0KOyByZXR1cm4g MDsgfQ0KY29uZmlndXJlOjEyOTYzOiBjaGVja2luZyBmb3Igc3RhdHZmcw0KY29uZmlndXJl OjEyOTkxOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUNCmNvbmZpZ3Vy ZToxMjk2MzogY2hlY2tpbmcgZm9yIHN0YXRmczY0DQpjb25maWd1cmU6MTI5OTE6IC91c3Iv YmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1M L3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2ws LXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQ0KL3RtcC9jb25mdGVzdC1aMHRqcmgu bzogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZnRlc3QuYzooLnRleHQubWFpbisweDcpOiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdGF0ZnM2NCcNCmNsYW5nOiBlcnJvcjogbGlua2Vy IGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2Nh dGlvbikNCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTI5NjggImNv bmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdGZzNjQoKTsgYmVsb3cuICAqLw0K I2luY2x1ZGUgPGFzc2VydC5oPg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lw0KY2hhciBzdGF0ZnM2NCgpOw0KDQoNCmludCBtYWluKCkgew0KDQoNCi8qIFRoZSBHTlUg QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy ZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0 aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9z dGF0ZnM2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fc3RhdGZzNjQpDQpjaG9rZSBtZQ0KI2Vs c2UNCnN0YXRmczY0KCk7DQojZW5kaWYNCg0KDQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6 MTI5NjM6IGNoZWNraW5nIGZvciBzdGF0ZnMNCmNvbmZpZ3VyZToxMjk5MTogL3Vzci9iaW4v Y2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixu b2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1DQpjb25maWd1cmU6MTMwMjE6IGNoZWNraW5n IGZvciBmbG9ja2ZpbGUNCmNvbmZpZ3VyZToxMzA0OTogL3Vzci9iaW4vY2xhbmcgLW8gY29u ZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4 OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBj b25mdGVzdC5jICAxPiY1DQpjb25maWd1cmU6MTMwMjE6IGNoZWNraW5nIGZvciBnZXRwYWdl c2l6ZQ0KY29uZmlndXJlOjEzMDc5OiBjaGVja2luZyBmb3IgbG9jYWx0aW1lX3INCmNvbmZp Z3VyZToxMzEwNzogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBh dGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1DQpjb25m aWd1cmU6MTMwNzk6IGNoZWNraW5nIGZvciBzdHJ0b2tfcg0KY29uZmlndXJlOjEzMTA3OiAv dXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4g LVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUNCmNvbmZpZ3VyZToxMzEzNjog Y2hlY2tpbmcgZm9yIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDKQ0KY29uZmlndXJl OjEzMTUyOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgICAxPiY1DQpjb25maWd1 cmU6MTMxOTM6IGNoZWNraW5nIGZvciB3Y3J0b21iDQpjb25maWd1cmU6MTMyMDU6IC91c3Iv YmluL2NsYW5nKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251 KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixv cmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0 LkMgIDE+JjUNCmNvbmZpZ3VyZToxMzIyODogY2hlY2tpbmcgZm9yIG1icnRvd2MNCmNvbmZp Z3VyZToxMzI0MDogL3Vzci9iaW4vY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgY29uZnRlc3QuQyAgMT4mNQ0KY29uZmlndXJlOjEzMjcyOiBjaGVja2luZyBm b3IgcmVzX25pbml0KCkNCmNvbmZpZ3VyZToxMzI5NDogL3Vzci9iaW4vY2xhbmcgLW8gY29u ZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4 OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBj b25mdGVzdC5jICAxPiY1DQpjb25maWd1cmU6MTMzMjk6IGNoZWNraW5nIGZvciBnbnVfZ2V0 X2xpYmNfdmVyc2lvbigpDQpjb25maWd1cmU6MTMzNDU6IC91c3IvYmluL2NsYW5nKysgLW8g Y29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9u cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0 aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUNCmNvbmZp Z3VyZToxMzM0MToyOTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2du dV9nZXRfbGliY192ZXJzaW9uJw0KY29uc3QgY2hhciAqZ2xpYmNfdmVyc2lvbiA9IGdudV9n ZXRfbGliY192ZXJzaW9uKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KMSBl cnJvciBnZW5lcmF0ZWQuDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5l IDEzMzM0ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KDQogICAgICAg ICNpZmRlZiBIQVZFX0dOVV9MSUJDX1ZFUlNJT05fSA0KICAgICAgICAjaW5jbHVkZSA8Z251 L2xpYmMtdmVyc2lvbi5oPg0KICAgICAgICAjZW5kaWYNCiAgICAgICAgDQppbnQgbWFpbigp IHsNCmNvbnN0IGNoYXIgKmdsaWJjX3ZlcnNpb24gPSBnbnVfZ2V0X2xpYmNfdmVyc2lvbigp Ow0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjEzMzc3OiBjaGVja2luZyBmb3IgaWNvbnYg aW4gLWxjDQpjb25maWd1cmU6MTMzOTk6IC91c3IvYmluL2NsYW5nKysgLW8gY29uZnRlc3Qg LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhy ZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklH SU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgLWxjICAgMT4mNQ0KL3RtcC9jb25m dGVzdC1pakxiQUEubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZnRlc3QuQzooLnRleHQu bWFpbisweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBpY29udicNCmNsYW5nKys6IGVy cm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRv IHNlZSBpbnZvY2F0aW9uKQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSAxMzM4NSAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBPdmVycmlk ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0K I2lmZGVmIF9fY3BsdXNwbHVzDQpleHRlcm4gIkMiDQojZW5kaWYNCi8qIFdlIHVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLw0KY2hhciBpY29udigpOw0KDQoNCmludCBtYWluKCkgew0KaWNvbnYoKQ0K OyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjEzNDE4OiBjaGVja2luZyBmb3IgaWNvbnYgaW4g LWxpY29udg0KY29uZmlndXJlOjEzNDQwOiAvdXNyL2Jpbi9jbGFuZysrIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJ R0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DIC1saWNvbnYgICAxPiY1DQpjb25m aWd1cmU6MTM1MDg6IGNoZWNraW5nIGZvciBpY29udigpDQpjb25maWd1cmU6MTM1Mjc6IC91 c3IvYmluL2NsYW5nKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9 Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwt eixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0 ZXN0LkMgICAtbGljb252IDE+JjUNCmNvbmZpZ3VyZToxMzU1NDogY2hlY2tpbmcgZm9yIGlj b252KCkgd2l0aCBjb25zdCBpbnB1dA0KY29uZmlndXJlOjEzNTc0OiAvdXNyL2Jpbi9jbGFu ZysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToxMzYwNjogY2hlY2tpbmcgZm9yIG5sX2xh bmdpbmZvIGFuZCBDT0RFU0VUDQpjb25maWd1cmU6MTM2MTg6IC91c3IvYmluL2NsYW5nKysg LW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0 aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVudXNl ZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1y cGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUNCmNv bmZpZ3VyZToxMzY1MzogY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9uIG9mIHZhX2Nv cHkoKQ0KY29uZmlndXJlOjEzNjc3OiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtTzIg LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMg IDE+JjUNCmNvbmZpZ3VyZToxMzY3MToxNzogd2FybmluZzogaW1wbGljaXRseSBkZWNsYXJp bmcgQyBsaWJyYXJ5IGZ1bmN0aW9uICdleGl0JyB3aXRoIHR5cGUgJ3ZvaWQgKGludCkgX19h dHRyaWJ1dGVfXygobm9yZXR1cm4pKScNCiAgICAgICAgICAgICAgICBleGl0ICgxKTsNCiAg ICAgICAgICAgICAgICBeDQpjb25maWd1cmU6MTM2NzE6MTc6IG5vdGU6IHBsZWFzZSBpbmNs dWRlIHRoZSBoZWFkZXIgPHN0ZGxpYi5oPiBvciBleHBsaWNpdGx5IHByb3ZpZGUgYSBkZWNs YXJhdGlvbiBmb3IgJ2V4aXQnDQoxIHdhcm5pbmcgZ2VuZXJhdGVkLg0KY29uZmlndXJlOjEz Njk0OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgX192YV9jb3B5KCkNCmNv bmZpZ3VyZToxMzcxODogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1DQpj b25maWd1cmU6MTM3MTA6MTM6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1 bmN0aW9uICdfX3ZhX2NvcHknIGlzIGludmFsaWQgaW4gQzk5IFstV2ltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQ0KICAgICAgICAgICAgX192YV9jb3B5IChhcmdzMiwgYXJnczEp Ow0KICAgICAgICAgICAgXg0KY29uZmlndXJlOjEzNzEyOjE3OiB3YXJuaW5nOiBpbXBsaWNp dGx5IGRlY2xhcmluZyBDIGxpYnJhcnkgZnVuY3Rpb24gJ2V4aXQnIHdpdGggdHlwZSAndm9p ZCAoaW50KSBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpJw0KICAgICAgICAgICAgICAgIGV4 aXQgKDEpOw0KICAgICAgICAgICAgICAgIF4NCmNvbmZpZ3VyZToxMzcxMjoxNzogbm90ZTog cGxlYXNlIGluY2x1ZGUgdGhlIGhlYWRlciA8c3RkbGliLmg+IG9yIGV4cGxpY2l0bHkgcHJv dmlkZSBhIGRlY2xhcmF0aW9uIGZvciAnZXhpdCcNCjIgd2FybmluZ3MgZ2VuZXJhdGVkLg0K L3RtcC9jb25mdGVzdC1BVlcwYTkubzogSW4gZnVuY3Rpb24gYGYnOg0KY29uZnRlc3QuYzoo LnRleHQuZisweDE3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX192YV9jb3B5Jw0KY2xh bmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNl IC12IHRvIHNlZSBpbnZvY2F0aW9uKQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQojbGluZSAxMzcwNCAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoNCg0K ICAgICAgICAjaW5jbHVkZSA8c3RkYXJnLmg+DQogICAgICAgIHZvaWQgZiAoaW50IGksIC4u Likgew0KICAgICAgICAgICAgdmFfbGlzdCBhcmdzMSwgYXJnczI7DQogICAgICAgICAgICB2 YV9zdGFydCAoYXJnczEsIGkpOw0KICAgICAgICAgICAgX192YV9jb3B5IChhcmdzMiwgYXJn czEpOw0KICAgICAgICAgICAgaWYgKHZhX2FyZyAoYXJnczIsIGludCkgIT0gNDIgfHwgdmFf YXJnIChhcmdzMSwgaW50KSAhPSA0MikNCiAgICAgICAgICAgICAgICBleGl0ICgxKTsNCiAg ICAgICAgICAgIHZhX2VuZCAoYXJnczEpOyB2YV9lbmQgKGFyZ3MyKTsNCiAgICAgICAgfQ0K ICAgICAgICBpbnQgbWFpbigpIHsgZiAoMCwgNDIpOyByZXR1cm4gMDsgfQ0KY29uZmlndXJl OjEzNzM1OiBjaGVja2luZyB3aGV0aGVyIHZhX2xpc3RzIGNhbiBiZSBjb3BpZWQgYnkgdmFs dWUNCmNvbmZpZ3VyZToxMzc1OTogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1w aXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAx PiY1DQpjb25maWd1cmU6MTM3NTM6MTc6IHdhcm5pbmc6IGltcGxpY2l0bHkgZGVjbGFyaW5n IEMgbGlicmFyeSBmdW5jdGlvbiAnZXhpdCcgd2l0aCB0eXBlICd2b2lkIChpbnQpIF9fYXR0 cmlidXRlX18oKG5vcmV0dXJuKSknDQogICAgICAgICAgICAgICAgZXhpdCAoMSk7DQogICAg ICAgICAgICAgICAgXg0KY29uZmlndXJlOjEzNzUzOjE3OiBub3RlOiBwbGVhc2UgaW5jbHVk ZSB0aGUgaGVhZGVyIDxzdGRsaWIuaD4gb3IgZXhwbGljaXRseSBwcm92aWRlIGEgZGVjbGFy YXRpb24gZm9yICdleGl0Jw0KMSB3YXJuaW5nIGdlbmVyYXRlZC4NCmNvbmZpZ3VyZToxMzg3 MjogY2hlY2tpbmcgZm9yIG1vZGVybiBDKysgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gc3lu dGF4IHN1cHBvcnQNCmNvbmZpZ3VyZToxMzg4NzogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIg LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu QyAxPiY1DQpjb25maWd1cmU6MTM5MDU6IGNoZWNraW5nIHdoZXRoZXIgcGFydGlhbCB0ZW1w bGF0ZSBzcGVjaWFsaXphdGlvbiB3b3Jrcw0KY29uZmlndXJlOjEzOTE4OiAvdXNyL2Jpbi9j bGFuZysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlv bnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToxMzk0MjogY2hlY2tpbmcgd2hldGhl ciB0aGUgQysrICJ1c2luZyIga2V5d29yZCByZXNvbHZlcyBhbWJpZ3VpdHkNCmNvbmZpZ3Vy ZToxMzk2MzogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0 ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6MTM5 ODc6IGNoZWNraW5nIGZvciBDKysgZHluYW1pY19jYXN0IHRvIHZvaWQqDQpjb25maWd1cmU6 MTQwMTQ6IC91c3IvYmluL2NsYW5nKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwv bGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0 YWNrIGNvbmZ0ZXN0LkMgIDE+JjUNCmNvbmZpZ3VyZToxNDA0MTogY2hlY2tpbmcgd2hldGhl ciBDKysgcmVxdWlyZXMgaW1wbGVtZW50YXRpb24gb2YgdW51c2VkIHZpcnR1YWwgbWV0aG9k cw0KY29uZmlndXJlOjE0MDUzOiAvdXNyL2Jpbi9jbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAg LUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1X bCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAxPiY1DQpjb25maWd1cmU6MTQwNzk6IGNo ZWNraW5nIGZvciB0cm91YmxlIGNvbXBhcmluZyB0byB6ZXJvIG5lYXIgc3RkOjpvcGVyYXRv ciE9KCkNCmNvbmZpZ3VyZToxNDA5NTogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1 DQpjb25maWd1cmU6MTQxMjU6IGNoZWNraW5nIGZvciBfX3RocmVhZCBrZXl3b3JkIGZvciBU TFMgdmFyaWFibGVzDQpjb25maWd1cmU6MTQyMjM6IGNoZWNraW5nIGZvciBtYWxsb2MuaA0K Y29uZmlndXJlOjE0MjIzOiBjaGVja2luZyBmb3IgbWFsbG9jX25wLmgNCmNvbmZpZ3VyZTox NDIzNjogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1n bnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6MTQyNzI6 IGNoZWNraW5nIGZvciBzdHJuZHVwDQpjb25maWd1cmU6MTQyNzI6IGNoZWNraW5nIGZvciBw b3NpeF9tZW1hbGlnbg0KY29uZmlndXJlOjE0MzAzOiAvdXNyL2Jpbi9jbGFuZysrIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgs XCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAxPiY1DQpjb25maWd1 cmU6MTQyNzI6IGNoZWNraW5nIGZvciBtZW1hbGlnbg0KY29uZmlndXJlOjE0MzAzOiAvdXNy L2Jpbi9jbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVz dC5DICAxPiY1DQovdG1wL2NvbmZ0ZXN0LXBEcDlsei5vOiBJbiBmdW5jdGlvbiBgbWFpbic6 DQpjb25mdGVzdC5DOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YG1lbWFsaWduJw0KY2xhbmcrKzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRo IGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pDQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDE0Mjc3ICJjb25maWd1cmUiDQojaW5jbHVkZSAi Y29uZmRlZnMuaCINCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIG1lbWFsaWduKCk7IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxhc3NlcnQuaD4N Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4gICovDQojaWZkZWYgX19jcGx1c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KLyog V2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgZ2NjMg0KICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3 b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIG1lbWFsaWduKCk7DQoNCg0KaW50IG1haW4o KSB7DQoNCg0KLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQogICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovDQoj aWYgZGVmaW5lZCAoX19zdHViX21lbWFsaWduKSB8fCBkZWZpbmVkIChfX3N0dWJfX19tZW1h bGlnbikNCmNob2tlIG1lDQojZWxzZQ0KbWVtYWxpZ24oKTsNCiNlbmRpZg0KDQoNCjsgcmV0 dXJuIDA7IH0NCmNvbmZpZ3VyZToxNDI3MjogY2hlY2tpbmcgZm9yIHZhbGxvYw0KY29uZmln dXJlOjE0MzAzOiAvdXNyL2Jpbi9jbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhj ZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xv Y2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4 ZWNzdGFjayBjb25mdGVzdC5DICAxPiY1DQpjb25maWd1cmU6MTQzMzQ6IGNoZWNraW5nIGZv ciBtYWxsb2NfdXNhYmxlX3NpemUNCmNvbmZpZ3VyZToxNDM2NTogL3Vzci9iaW4vY2xhbmcr KyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNl cHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51 c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2ws LXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuQyAgMT4mNQ0K Y29uZmlndXJlOjE0Mzk1OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lu bGluZSkpDQpjb25maWd1cmU6MTQ0MDc6IC91c3IvYmluL2NsYW5nKysgLWMgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4m NQ0KY29uZmlndXJlOjE0NDIyOiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygobWFsbG9j KSkNCmNvbmZpZ3VyZToxNDQzNDogL3Vzci9iaW4vY2xhbmcrKyAtYyAtTzIgLXBpcGUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpj b25maWd1cmU6MTQ0NDk6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNl ZF9yZXN1bHQpKQ0KY29uZmlndXJlOjE0NDYxOiAvdXNyL2Jpbi9jbGFuZysrIC1jIC1PMiAt cGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5D IDE+JjUNCmNvbmZpZ3VyZToxNDQ4NTogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTDQpjb25m aWd1cmU6MTQ0OTc6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50 cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6MTQ1MjM6IGNoZWNraW5nIGZvciBsb2NhbGVjb252 DQpjb25maWd1cmU6MTQ1NTE6IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4m NQ0KY29uZmlndXJlOjE0NzQwOiBjaGVja2luZyBmb3IgbnNwci1jb25maWcNCmNvbmZpZ3Vy ZToxNDc3NTogY2hlY2tpbmcgZm9yIE5TUFIgLSB2ZXJzaW9uID49IDQuOS42DQpjb25maWd1 cmU6MTQ4NDM6IC91c3IvYmluL2NsYW5nIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1JL3Vzci9sb2NhbC9pbmNsdWRl L25zcHIgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUNCmNvbmZpZ3VyZToxNDg2Mzog L3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLUkvdXNyL2xvY2FsL2luY2x1ZGUvbnNwciAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJlOjE0OTEyOiBjaGVja2luZyBm b3IgcGtnLWNvbmZpZw0KY29uZmlndXJlOjE0OTU2OiBjaGVja2luZyBmb3IgbGliZXZlbnQN CmNvbmZpZ3VyZToxNDk2MzogY2hlY2tpbmcgTU9aX0xJQkVWRU5UX0NGTEFHUw0KY29uZmln dXJlOjE0OTY4OiBjaGVja2luZyBNT1pfTElCRVZFTlRfTElCUw0KY29uZmlndXJlOjE1MTQz OiBjaGVja2luZyBmb3IgbnNzLWNvbmZpZw0KY29uZmlndXJlOjE1MTc4OiBjaGVja2luZyBm b3IgTlNTIC0gdmVyc2lvbiA+PSAzLjE0LjMNCmNvbmZpZ3VyZToxNTI0NTogY2hlY2tpbmcg Zm9yIFlBU00gYXNzZW1ibGVyDQpjb25maWd1cmU6MTUyNTE6IGNoZWNraW5nIGZvciB5YXNt DQpjb25maWd1cmU6MTUzMDk6IGNoZWNraW5nIGZvciBqcGVnX2Rlc3Ryb3lfY29tcHJlc3Mg aW4gLWxqcGVnDQpjb25maWd1cmU6MTUzMjg6IC91c3IvYmluL2NsYW5nIC1vIGNvbmZ0ZXN0 IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2Fs L2xpYiAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBh dGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1sanBlZyAgIDE+ JjUNCmNvbmZpZ3VyZToxNTM2NDogL3Vzci9iaW4vY2xhbmcgLWMgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4 OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUNCmNvbmZpZ3VyZTox NTQxMTogY2hlY2tpbmcgZm9yIGd6cmVhZCBpbiAtbHoNCmNvbmZpZ3VyZToxNTQzMDogL3Vz ci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAg LUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1X bCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1seiAgIDE+JjUNCmNvbmZpZ3VyZToxNTQ2 NTogL3Vzci9iaW4vY2xhbmcgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1z dGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+ JjUNCmNvbmZpZ3VyZToxNTUxNjogY2hlY2tpbmcgZm9yIEJaMl9ienJlYWQgaW4gLWxiejIN CmNvbmZpZ3VyZToxNTUzNTogL3Vzci9iaW4vY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1sYnoy ICAgMT4mNQ0KY29uZmlndXJlOjE1NTg0OiBjaGVja2luZyBmb3IgcG5nX2dldF92YWxpZCBp biAtbHBuZw0KY29uZmlndXJlOjE1NjAzOiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAt SS91c3IvbG9jYWwvaW5jbHVkZSAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9s aWIgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRo LFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbHBuZyAgIDE+JjUN CmNvbmZpZ3VyZToxNTYyNTogY2hlY2tpbmcgZm9yIHBuZ19nZXRfYWNUTCBpbiAtbHBuZw0K Y29uZmlndXJlOjE1NjQ0OiAvdXNyL2Jpbi9jbGFuZyAtbyBjb25mdGVzdCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJl YWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbHBuZyAgIDE+JjUNCi90bXAvY29u ZnRlc3QtR3paMWJvLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZ0ZXN0LmM6KC50ZXh0 Lm1haW4rMHg3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcG5nX2dldF9hY1RMJw0KY2xh bmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNl IC12IHRvIHNlZSBpbnZvY2F0aW9uKQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQojbGluZSAxNTYzMyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBP dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu ICAqLw0KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy biB0eXBlIG9mIGEgZ2NjMg0KICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIHBuZ19nZXRfYWNUTCgpOw0K DQoNCmludCBtYWluKCkgew0KcG5nX2dldF9hY1RMKCkNCjsgcmV0dXJuIDA7IH0NCg0KDQoN Cg0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kb3V0 cHV0Ojo6DQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBwYWNrYWdlOiBuc3By Pj00LjkuNiAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBwYWNr YWdlOiBuc3M+PTMuMTQuMyAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5k cyBvbiBwYWNrYWdlOiBzcWxpdGUzPj0zLjcuMTQuMSAtIGZvdW5kDQo9PT0+ICAgZmlyZWZv eC0yMi4wLDEgZGVwZW5kcyBvbiBwYWNrYWdlOiBweTI3LXNxbGl0ZTM+MCAtIGZvdW5kDQo9 PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBwYWNrYWdlOiBjYWlybz49MS4xMC4y XzEsMSAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBleGVjdXRh YmxlOiB1bnppcCAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBm aWxlOiAvdXNyL2xvY2FsL2Jpbi9weXRob24yLjcgLSBmb3VuZA0KPT09PiAgIGZpcmVmb3gt MjIuMCwxIGRlcGVuZHMgb24gZXhlY3V0YWJsZTogemlwIC0gZm91bmQNCj09PT4gICBmaXJl Zm94LTIyLjAsMSBkZXBlbmRzIG9uIHBhY2thZ2U6IHY0bF9jb21wYXQ+MCAtIGZvdW5kDQo9 PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBleGVjdXRhYmxlOiBnbWFrZSAtIGZv dW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBmaWxlOiAvdXNyL2xvY2Fs L2xpYmRhdGEvcGtnY29uZmlnL3ByaW50cHJvdG8ucGMgLSBmb3VuZA0KPT09PiAgIGZpcmVm b3gtMjIuMCwxIGRlcGVuZHMgb24gZmlsZTogL3Vzci9sb2NhbC9saWJkYXRhL3BrZ2NvbmZp Zy9nbHByb3RvLnBjIC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9u IGZpbGU6IC91c3IvbG9jYWwvbGliZGF0YS9wa2djb25maWcvZHJpMnByb3RvLnBjIC0gZm91 bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIGZpbGU6IC91c3IvbG9jYWwv bGliZGF0YS9wa2djb25maWcvc20ucGMgLSBmb3VuZA0KPT09PiAgIGZpcmVmb3gtMjIuMCwx IGRlcGVuZHMgb24gZmlsZTogL3Vzci9sb2NhbC9saWJkYXRhL3BrZ2NvbmZpZy94dC5wYyAt IGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBmaWxlOiAvdXNyL2xv Y2FsL2xpYmRhdGEvcGtnY29uZmlnL3hpLnBjIC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIy LjAsMSBkZXBlbmRzIG9uIGZpbGU6IC91c3IvbG9jYWwvbGliZGF0YS9wa2djb25maWcveGV4 dC5wYyAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBmaWxlOiAv dXNyL2xvY2FsL2xpYmRhdGEvcGtnY29uZmlnL3gxMS5wYyAtIGZvdW5kDQo9PT0+ICAgZmly ZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBmaWxlOiAvdXNyL2xvY2FsL2xpYmRhdGEvcGtnY29u ZmlnL3hpbmVyYW1hLnBjIC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRz IG9uIGZpbGU6IC91c3IvbG9jYWwvbGliZGF0YS9wa2djb25maWcvaWNlLnBjIC0gZm91bmQN Cj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIGZpbGU6IC91c3IvbG9jYWwvbGli ZGF0YS9wa2djb25maWcveHByb3RvLnBjIC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAs MSBkZXBlbmRzIG9uIGZpbGU6IC91c3IvbG9jYWwvYmluL3Blcmw1LjE0LjQgLSBmb3VuZA0K PT09PiAgIGZpcmVmb3gtMjIuMCwxIGRlcGVuZHMgb24gZmlsZTogL3Vzci9sb2NhbC9iaW4v YXV0b2NvbmYtMi4xMyAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBv biBleGVjdXRhYmxlOiB1cGRhdGUtZGVza3RvcC1kYXRhYmFzZSAtIGZvdW5kDQo9PT0+ICAg ZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBmaWxlOiAvdXNyL2xvY2FsL2Jpbi9pbnRsdG9v bC1leHRyYWN0IC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNo YXJlZCBsaWJyYXJ5OiBjYWlybyAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVw ZW5kcyBvbiBzaGFyZWQgbGlicmFyeTogZXZlbnQtMi4wIC0gZm91bmQNCj09PT4gICBmaXJl Zm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBmZmkgLSBmb3VuZA0KPT09 PiAgIGZpcmVmb3gtMjIuMCwxIGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IGh1bnNwZWxs LTEuMyAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBvbiBzaGFyZWQg bGlicmFyeToganBlZyAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5kcyBv biBzaGFyZWQgbGlicmFyeTogbnNwcjQgLSBmb3VuZA0KPT09PiAgIGZpcmVmb3gtMjIuMCwx IGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IG5zczMgLSBmb3VuZA0KPT09PiAgIGZpcmVm b3gtMjIuMCwxIGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IHBuZzE1IC0gZm91bmQNCj09 PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBzcWxpdGUz IC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJy YXJ5OiB2cHggLSBmb3VuZA0KPT09PiAgIGZpcmVmb3gtMjIuMCwxIGRlcGVuZHMgb24gc2hh cmVkIGxpYnJhcnk6IGRidXMtZ2xpYi0xLjIgLSBmb3VuZA0KPT09PiAgIGZpcmVmb3gtMjIu MCwxIGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IG5vdGlmeS40IC0gZm91bmQNCj09PT4g ICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBzdGFydHVwLW5v dGlmaWNhdGlvbi0xLjAgLSBmb3VuZA0KPT09PiAgIGZpcmVmb3gtMjIuMCwxIGRlcGVuZHMg b24gc2hhcmVkIGxpYnJhcnk6IHY0bDIgLSBmb3VuZA0KPT09PiAgIGZpcmVmb3gtMjIuMCwx IGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IGFzb3VuZC4yIC0gZm91bmQNCj09PT4gICBm aXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBpY29udi4zIC0gZm91 bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBH TC4xIC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBs aWJyYXJ5OiBnbGliLTIuMCAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4wLDEgZGVwZW5k cyBvbiBzaGFyZWQgbGlicmFyeTogcGNyZSAtIGZvdW5kDQo9PT0+ICAgZmlyZWZveC0yMi4w LDEgZGVwZW5kcyBvbiBzaGFyZWQgbGlicmFyeTogYXRrLTEuMC4wIC0gZm91bmQNCj09PT4g ICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBndGsteDExLTIu MC4wIC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRzIG9uIHNoYXJlZCBs aWJyYXJ5OiBJREwtMi4wIC0gZm91bmQNCj09PT4gICBmaXJlZm94LTIyLjAsMSBkZXBlbmRz IG9uIHNoYXJlZCBsaWJyYXJ5OiBwYW5nby0xLjAuMCAtIGZvdW5kDQo9PT0+ICBDb25maWd1 cmluZyBmb3IgZmlyZWZveC0yMi4wLDENCi9iaW4vbWtkaXIgLXAgL3Vzci9wb3J0cy93d3cv ZmlyZWZveC93b3JrL21vemlsbGEtcmVsZWFzZS9vYmotaTM4Ni1wb3J0YmxkLWZyZWVic2Q5 LjANCihjZCAvdXNyL3BvcnRzL3d3dy9maXJlZm94L3dvcmsvbW96aWxsYS1yZWxlYXNlICYm IC91c3IvbG9jYWwvYmluL2F1dG9jb25mLTIuMTMpDQooY2QgL3Vzci9wb3J0cy93d3cvZmly ZWZveC93b3JrL21vemlsbGEtcmVsZWFzZS9qcy9zcmMvICYmIC91c3IvbG9jYWwvYmluL2F1 dG9jb25mLTIuMTMpDQpsb2FkaW5nIHNpdGUgc2NyaXB0IC91c3IvcG9ydHMvVGVtcGxhdGVz L2NvbmZpZy5zaXRlDQpsb2FkaW5nIGNhY2hlIC4vY29uZmlnLmNhY2hlDQpjaGVja2luZyBo b3N0IHN5c3RlbSB0eXBlLi4uIGkzODYtcG9ydGJsZC1mcmVlYnNkOS4wDQpjaGVja2luZyB0 YXJnZXQgc3lzdGVtIHR5cGUuLi4gaTM4Ni1wb3J0YmxkLWZyZWVic2Q5LjANCmNoZWNraW5n IGJ1aWxkIHN5c3RlbSB0eXBlLi4uIGkzODYtcG9ydGJsZC1mcmVlYnNkOS4wDQpjaGVja2lu ZyBmb3IgbWF3ay4uLiAoY2FjaGVkKSAvdXNyL2Jpbi9hd2sNClVzaW5nIFB5dGhvbiBmcm9t IGVudmlyb25tZW50IHZhcmlhYmxlICRQWVRIT04NCkNyZWF0aW5nIFB5dGhvbiBlbnZpcm9u bWVudA0KY2hlY2tpbmcgUHl0aG9uIGVudmlyb25tZW50IGlzIE1vemlsbGEgdmlydHVhbGVu di4uLiB5ZXMNCmNoZWNraW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9wZXJsLi4uIC91c3IvbG9j YWwvYmluL3BlcmwNCmNoZWNraW5nIGZvciBnY2MuLi4gL3Vzci9iaW4vY2xhbmcNCmNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKC91c3IvYmluL2NsYW5nIC1PMiAtcGlwZSAt Zm5vLXN0cmljdC1hbGlhc2luZyAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOKSB3b3Jrcy4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgdGhl IEMgY29tcGlsZXIgKC91c3IvYmluL2NsYW5nIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh c2luZyAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJ R0lOKSBpcyBhIGNyb3NzLWNvbXBpbGVyLi4uIG5vDQpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyBHTlUgQy4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgL3Vzci9iaW4vY2xhbmcg YWNjZXB0cyAtZy4uLiB5ZXMNCmNoZWNraW5nIGZvciBjKysuLi4gL3Vzci9iaW4vY2xhbmcr Kw0KY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyICgvdXNyL2Jpbi9jbGFuZysr IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOKSB3b3Jrcy4uLiB5ZXMNCmNoZWNraW5n IHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciAoL3Vzci9iaW4vY2xhbmcrKyAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTikgaXMgYSBjcm9zcy1jb21waWxlci4uLiBubw0KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMrKy4uLiB5ZXMNCmNoZWNraW5nIHdoZXRo ZXIgL3Vzci9iaW4vY2xhbmcrKyBhY2NlcHRzIC1nLi4uIHllcw0KY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWINCmNoZWNraW5nIGZvciBhcy4uLiAvdXNyL2Jpbi9hcw0KY2hlY2tp bmcgZm9yIGFyLi4uIGFyDQpjaGVja2luZyBmb3IgbGQuLi4gbGQNCmNoZWNraW5nIGZvciBz dHJpcC4uLiBzdHJpcA0KY2hlY2tpbmcgZm9yIHdpbmRyZXMuLi4gbm8NCmNoZWNraW5nIGhv dyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4uIC91c3IvYmluL2NsYW5nIC1FDQpjaGVj a2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yLi4uIC91c3IvYmluL2NsYW5n KysgLUUNCmNoZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9i aW4vaW5zdGFsbCAtYyAtbyByb290IC1nIHdoZWVsDQpjaGVja2luZyB3aGV0aGVyIGxuIC1z IHdvcmtzLi4uIHllcw0KY2hlY2tpbmcgZm9yIG1pbmltdW0gcmVxdWlyZWQgcGVybCB2ZXJz aW9uID49IDUuMDA2Li4uIDUuMDE0MDA0DQpjaGVja2luZyBmb3IgZnVsbCBwZXJsIGluc3Rh bGxhdGlvbi4uLiB5ZXMNCmNoZWNraW5nIGZvciBkb3h5Z2VuLi4uIDoNCmNoZWNraW5nIGZv ciBhdXRvY29uZi4uLiAvdXNyL2xvY2FsL2Jpbi9hdXRvY29uZi0yLjEzDQpjaGVja2luZyBm b3IgdW56aXAuLi4gL3Vzci9iaW4vdW56aXANCmNoZWNraW5nIGZvciB6aXAuLi4gL3Vzci9s b2NhbC9iaW4vemlwDQpjaGVja2luZyBmb3IgeGFyZ3MuLi4gL3Vzci9iaW4veGFyZ3MNCmNo ZWNraW5nIGZvciBycG1idWlsZC4uLiA6DQpjaGVja2luZyBjb21waWxlciB2ZXJzaW9uLi4u IEZyZWVCU0QgY2xhbmcgdmVyc2lvbiAzLjAgKGJyYW5jaGVzL3JlbGVhc2VfMzAgMTQyNjE0 KSAyMDExMTAyMQ0KVGFyZ2V0OiBpMzg2LXVua25vd24tZnJlZWJzZDkuMA0KVGhyZWFkIG1v ZGVsOiBwb3NpeA0KY2hlY2tpbmcgZm9yIGdtYWtlLi4uIC91c3IvbG9jYWwvYmluL2dtYWtl DQpjaGVja2luZyBmb3IgWC4uLiBsaWJyYXJpZXMgL3Vzci9sb2NhbC9saWIsIGhlYWRlcnMg L3Vzci9sb2NhbC9pbmNsdWRlDQpjaGVja2luZyBmb3IgZG5ldF9udG9hIGluIC1sZG5ldC4u LiBubw0KY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXRfc3R1Yi4uLiBubw0KY2hl Y2tpbmcgZm9yIGdldGhvc3RieW5hbWUuLi4gKGNhY2hlZCkgeWVzDQpjaGVja2luZyBmb3Ig Y29ubmVjdC4uLiB5ZXMNCmNoZWNraW5nIGZvciByZW1vdmUuLi4geWVzDQpjaGVja2luZyBm b3Igc2htYXQuLi4geWVzDQpjaGVja2luZyBmb3IgSWNlQ29ubmVjdGlvbk51bWJlciBpbiAt bElDRS4uLiB5ZXMNCmNoZWNraW5nIHRoYXQgc3RhdGljIGFzc2VydGlvbiBtYWNyb3MgdXNl ZCBpbiBhdXRvY29uZiB0ZXN0cyB3b3JrLi4uIHllcw0KY2hlY2tpbmcgZm9yIC0tbm9leGVj c3RhY2sgb3B0aW9uIHRvIGFzLi4uIHllcw0KY2hlY2tpbmcgZm9yIC16IG5vZXhlY3N0YWNr IG9wdGlvbiB0byBsZC4uLiB5ZXMNCmNoZWNraW5nIGZvciAtLWJ1aWxkLWlkIG9wdGlvbiB0 byBsZC4uLiBubw0KY2hlY2tpbmcgaWYgdG9vbGNoYWluIHN1cHBvcnRzIC1tbW14IC1tc3Nz ZTMgb3B0aW9uLi4uIHllcw0KY2hlY2tpbmcgaWYgdG9vbGNoYWluIHN1cHBvcnRzIC1tbW14 IC1tc3NlNC4xIG9wdGlvbi4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGls ZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZS4uLiB5ZXMNCmNoZWNraW5nIHdoZXRo ZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0cy4uLiB5ZXMNCmNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5Li4uIHll cw0KY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV3NpZ24tY29t cGFyZS4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0 cyAtV2Vycm9yPXJldHVybi10eXBlLi4uIHllcw0KY2hlY2tpbmcgd2hldGhlciB0aGUgQysr IGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMuLi4geWVzDQpjaGVja2luZyB3aGV0 aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5Li4uIHllcw0KY2hl Y2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xc2lnbi1jb21wYXJl Li4uIHllcw0KY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1X bm8taW52YWxpZC1vZmZzZXRvZi4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBj b21waWxlciBzdXBwb3J0cyAtV25vLWV4dGVuZGVkLW9mZnNldG9mLi4uIG5vDQpjaGVja2lu ZyB3aGV0aGVyIGxkIGhhcyBhcmNoaXZlIGV4dHJhY3Rpb24gZmxhZ3MuLi4geWVzDQpjaGVj a2luZyBmb3IgNjQtYml0IE9TLi4uIG5vDQpjaGVja2luZyBmb3IgY3VzdG9tIDxzdGRpbnQu aD4gaW1wbGVtZW50YXRpb24uLi4gbm9uZSBzcGVjaWZpZWQNCmNoZWNraW5nIHdoZXRoZXIg dGhlIGxpbmtlciBzdXBwb3J0cyBJZGVudGljYWwgQ29kZSBGb2xkaW5nLi4uIG5vDQpjaGVj a2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiAoY2FjaGVkKSB5ZXMNCmNoZWNraW5n IGZvciB3b3JraW5nIGNvbnN0Li4uIHllcw0KY2hlY2tpbmcgZm9yIG1vZGVfdC4uLiAoY2Fj aGVkKSB5ZXMNCmNoZWNraW5nIGZvciBvZmZfdC4uLiAoY2FjaGVkKSB5ZXMNCmNoZWNraW5n IGZvciBwaWRfdC4uLiAoY2FjaGVkKSB5ZXMNCmNoZWNraW5nIGZvciBzaXplX3QuLi4gKGNh Y2hlZCkgeWVzDQpjaGVja2luZyBmb3IgX19zdGRjYWxsLi4uIHllcw0KY2hlY2tpbmcgZm9y IHNzaXplX3QuLi4gKGNhY2hlZCkgbm8NCmNoZWNraW5nIGZvciBzdF9ibGtzaXplIGluIHN0 cnVjdCBzdGF0Li4uIHllcw0KY2hlY2tpbmcgZm9yIHNpZ2luZm9fdC4uLiB5ZXMNCmNoZWNr aW5nIGZvciBpbnQ2NC4uLiBubw0KY2hlY2tpbmcgZm9yIHVpbnQuLi4geWVzDQpjaGVja2lu ZyBmb3IgdWludF90Li4uIG5vDQpjaGVja2luZyBmb3IgdW5hbWUuZG9tYWlubmFtZS4uLiBu bw0KY2hlY2tpbmcgZm9yIHVuYW1lLl9fZG9tYWlubmFtZS4uLiBubw0KY2hlY2tpbmcgZm9y IGdjYyBjKysweCBoZWFkZXJzIGJ1ZyB3aXRob3V0IHJ0dGkuLi4gbm8NCmNoZWNraW5nIGZv ciB1c2FibGUgY2hhcjE2X3QgKDIgYnl0ZXMsIHVuc2lnbmVkKS4uLiB5ZXMNCmNoZWNraW5n IGZvciB1c2FibGUgd2NoYXJfdCAoMiBieXRlcywgdW5zaWduZWQpLi4uIG5vDQpjaGVja2lu ZyBmb3IgdmlzaWJpbGl0eShoaWRkZW4pIGF0dHJpYnV0ZS4uLiB5ZXMNCmNoZWNraW5nIGZv ciB2aXNpYmlsaXR5KGRlZmF1bHQpIGF0dHJpYnV0ZS4uLiB5ZXMNCmNoZWNraW5nIGZvciB2 aXNpYmlsaXR5IHByYWdtYSBzdXBwb3J0Li4uIHllcw0KY2hlY2tpbmcgRm9yIGdjYyB2aXNp YmlsaXR5IGJ1ZyB3aXRoIGNsYXNzLWxldmVsIGF0dHJpYnV0ZXMgKEdDQyBidWcgMjY5MDUp Li4uIHllcw0KY2hlY2tpbmcgRm9yIHg4Nl82NCBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBi dWlsdGlucyAoR0NDIGJ1ZyAyMDI5NykuLi4gbm8NCmNoZWNraW5nIGZvciBnY2MgUFI0OTkx MS4uLiBubw0KY2hlY2tpbmcgZm9yIGdjYyBwcjM5NjA4Li4uIG5vDQpjaGVja2luZyBmb3Ig bGx2bSBwcjg5MjcuLi4gbm8NCmNoZWNraW5nIGZvciBfX2ZvcmNlX2FsaWduX2FyZ19wb2lu dGVyX18gYXR0cmlidXRlLi4uIHllcw0KY2hlY2tpbmcgZm9yIGRpcmVudC5oIHRoYXQgZGVm aW5lcyBESVIuLi4geWVzDQpjaGVja2luZyBmb3Igb3BlbmRpciBpbiAtbGRpci4uLiBubw0K Y2hlY2tpbmcgZm9yIHN5cy9ieXRlb3JkZXIuaC4uLiBubw0KY2hlY2tpbmcgZm9yIGNvbXBh dC5oLi4uIG5vDQpjaGVja2luZyBmb3IgZ2V0b3B0LmguLi4gKGNhY2hlZCkgeWVzDQpjaGVj a2luZyBmb3Igc3lzL2JpdHlwZXMuaC4uLiBubw0KY2hlY2tpbmcgZm9yIG1lbW9yeS5oLi4u IChjYWNoZWQpIHllcw0KY2hlY2tpbmcgZm9yIHVuaXN0ZC5oLi4uIChjYWNoZWQpIHllcw0K Y2hlY2tpbmcgZm9yIGdudS9saWJjLXZlcnNpb24uaC4uLiBubw0KY2hlY2tpbmcgZm9yIG5s X3R5cGVzLmguLi4geWVzDQpjaGVja2luZyBmb3IgbWFsbG9jLmguLi4gKGNhY2hlZCkgbm8N CmNoZWNraW5nIGZvciBYMTEvWEtCbGliLmguLi4geWVzDQpjaGVja2luZyBmb3IgaW8uaC4u LiBubw0KY2hlY2tpbmcgZm9yIGNwdWlkLmguLi4gbm8NCmNoZWNraW5nIGZvciBzeXMvc3Rh dHZmcy5oLi4uIHllcw0KY2hlY2tpbmcgZm9yIHN5cy9zdGF0ZnMuaC4uLiBubw0KY2hlY2tp bmcgZm9yIHN5cy92ZnMuaC4uLiBubw0KY2hlY2tpbmcgZm9yIHN5cy9tb3VudC5oLi4uIHll cw0KY2hlY2tpbmcgZm9yIHN5cy9xdW90YS5oLi4uIG5vDQpjaGVja2luZyBmb3Igc3lzL3N5 c21hY3Jvcy5oLi4uIG5vDQpjaGVja2luZyBmb3IgbGludXgvcXVvdGEuaC4uLiBubw0KY2hl Y2tpbmcgZm9yIGxpbnV4L2lmX2FkZHIuaC4uLiBubw0KY2hlY2tpbmcgZm9yIGxpbnV4L3J0 bmV0bGluay5oLi4uIG5vDQpjaGVja2luZyBmb3Igc3lzL3R5cGVzLmguLi4gKGNhY2hlZCkg eWVzDQpjaGVja2luZyBmb3IgbmV0aW5ldC9pbi5oLi4uIChjYWNoZWQpIHllcw0KY2hlY2tp bmcgZm9yIGJ5dGVzd2FwLmguLi4gKGNhY2hlZCkgbm8NCmNoZWNraW5nIGZvciBzb2NrYWRk cl9pbi5zaW5fbGVuLi4uIHRydWUNCmNoZWNraW5nIGZvciBzb2NrYWRkcl9pbjYuc2luNl9s ZW4uLi4gdHJ1ZQ0KY2hlY2tpbmcgZm9yIHNvY2thZGRyLnNhX2xlbi4uLiB0cnVlDQpjaGVj a2luZyBmb3IgbmV3Li4uIHllcw0KY2hlY2tpbmcgZm9yIHN5cy9jZGVmcy5oLi4uIHllcw0K Y2hlY2tpbmcgZm9yIGxpbnV4L3BlcmZfZXZlbnQuaC4uLiBubw0KY2hlY2tpbmcgZm9yIGdl dGhvc3RieW5hbWVfciBpbiAtbGNfci4uLiBubw0KY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29u dGFpbmluZyBkbG9wZW4uLi4gbm9uZSByZXF1aXJlZA0KY2hlY2tpbmcgZm9yIGRsZmNuLmgu Li4gKGNhY2hlZCkgeWVzDQpjaGVja2luZyBmb3IgZGxhZGRyLi4uIHllcw0KY2hlY2tpbmcg Zm9yIG1lbW1lbS4uLiB5ZXMNCmNoZWNraW5nIGZvciBzb2NrZXQgaW4gLWxzb2NrZXQuLi4g bm8NCmNoZWNraW5nIGZvciBYRHJhd0xpbmVzIGluIC1sWDExLi4uIHllcw0KY2hlY2tpbmcg Zm9yIFhleHRBZGREaXNwbGF5IGluIC1sWGV4dC4uLiB5ZXMNCmNoZWNraW5nIGZvciBYdEZy ZWUgaW4gLWxYdC4uLiB5ZXMNCmNoZWNraW5nIGZvciBYU2htQ3JlYXRlSW1hZ2UgaW4gLWxY ZXh0Li4uIHllcw0KY2hlY2tpbmcgZm9yIFgxMS9leHRlbnNpb25zL3Njcm5zYXZlci5oLi4u IHllcw0KY2hlY2tpbmcgZm9yIFhTY3JlZW5TYXZlclF1ZXJ5SW5mbyBpbiAtbFhzcy4uLiB5 ZXMNCmNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWRzLi4uIG5vDQpj aGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxwdGhyZWFkLi4uIHllcw0KY2hlY2tp bmcgd2hldGhlciAvdXNyL2Jpbi9jbGFuZyBhY2NlcHRzIC1wdGhyZWFkLi4uIHllcw0KY2hl Y2tpbmcgd2hldGhlciAvdXNyL2Jpbi9jbGFuZyBuZWVkcyAtdHJhZGl0aW9uYWwuLi4gbm8N CmNoZWNraW5nIGZvciA4LWJpdCBjbGVhbiBtZW1jbXAuLi4geWVzDQpjaGVja2luZyBmb3Ig cmFuZG9tLi4uIHllcw0KY2hlY2tpbmcgZm9yIHN0cmVycm9yLi4uIChjYWNoZWQpIHllcw0K Y2hlY2tpbmcgZm9yIGxjaG93bi4uLiB5ZXMNCmNoZWNraW5nIGZvciBmY2htb2QuLi4geWVz DQpjaGVja2luZyBmb3Igc25wcmludGYuLi4gKGNhY2hlZCkgeWVzDQpjaGVja2luZyBmb3Ig bWVtbW92ZS4uLiAoY2FjaGVkKSB5ZXMNCmNoZWNraW5nIGZvciByaW50Li4uIG5vDQpjaGVj a2luZyBmb3Igc3RhdDY0Li4uIG5vDQpjaGVja2luZyBmb3IgbHN0YXQ2NC4uLiBubw0KY2hl Y2tpbmcgZm9yIHRydW5jYXRlNjQuLi4gbm8NCmNoZWNraW5nIGZvciBzZXRidWYuLi4geWVz DQpjaGVja2luZyBmb3IgaXNhdHR5Li4uIHllcw0KY2hlY2tpbmcgZm9yIHN0YXR2ZnM2NC4u LiBubw0KY2hlY2tpbmcgZm9yIHN0YXR2ZnMuLi4geWVzDQpjaGVja2luZyBmb3Igc3RhdGZz NjQuLi4gbm8NCmNoZWNraW5nIGZvciBzdGF0ZnMuLi4geWVzDQpjaGVja2luZyBmb3IgZmxv Y2tmaWxlLi4uIHllcw0KY2hlY2tpbmcgZm9yIGdldHBhZ2VzaXplLi4uIChjYWNoZWQpIHll cw0KY2hlY2tpbmcgZm9yIGxvY2FsdGltZV9yLi4uIHllcw0KY2hlY2tpbmcgZm9yIHN0cnRv a19yLi4uIHllcw0KY2hlY2tpbmcgZm9yIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklD KS4uLiANCmNoZWNraW5nIGZvciB3Y3J0b21iLi4uIHllcw0KY2hlY2tpbmcgZm9yIG1icnRv d2MuLi4geWVzDQpjaGVja2luZyBmb3IgcmVzX25pbml0KCkuLi4geWVzDQpjaGVja2luZyBm b3IgZ251X2dldF9saWJjX3ZlcnNpb24oKS4uLiBubw0KY2hlY2tpbmcgZm9yIGljb252IGlu IC1sYy4uLiBubw0KY2hlY2tpbmcgZm9yIGljb252IGluIC1saWNvbnYuLi4geWVzDQpjaGVj a2luZyBmb3IgaWNvbnYoKS4uLiB5ZXMNCmNoZWNraW5nIGZvciBpY29udigpIHdpdGggY29u c3QgaW5wdXQuLi4geWVzDQpjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQu Li4geWVzDQpjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFfY29weSgpLi4u IHllcw0KY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9uIG9mIF9fdmFfY29weSgpLi4u IG5vDQpjaGVja2luZyB3aGV0aGVyIHZhX2xpc3RzIGNhbiBiZSBjb3BpZWQgYnkgdmFsdWUu Li4geWVzDQpjaGVja2luZyBmb3IgbW9kZXJuIEMrKyB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlv biBzeW50YXggc3VwcG9ydC4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgcGFydGlhbCB0ZW1w bGF0ZSBzcGVjaWFsaXphdGlvbiB3b3Jrcy4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgdGhl IEMrKyAidXNpbmciIGtleXdvcmQgcmVzb2x2ZXMgYW1iaWd1aXR5Li4uIHllcw0KY2hlY2tp bmcgZm9yIEMrKyBkeW5hbWljX2Nhc3QgdG8gdm9pZCouLi4geWVzDQpjaGVja2luZyB3aGV0 aGVyIEMrKyByZXF1aXJlcyBpbXBsZW1lbnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRo b2RzLi4uIG5vDQpjaGVja2luZyBmb3IgdHJvdWJsZSBjb21wYXJpbmcgdG8gemVybyBuZWFy IHN0ZDo6b3BlcmF0b3IhPSgpLi4uIG5vDQpjaGVja2luZyBmb3IgX190aHJlYWQga2V5d29y ZCBmb3IgVExTIHZhcmlhYmxlcy4uLiAoY2FjaGVkKSBubw0KY2hlY2tpbmcgZm9yIG1hbGxv Yy5oLi4uIChjYWNoZWQpIG5vDQpjaGVja2luZyBmb3IgbWFsbG9jX25wLmguLi4geWVzDQpj aGVja2luZyBmb3Igc3RybmR1cC4uLiAoY2FjaGVkKSB5ZXMNCmNoZWNraW5nIGZvciBwb3Np eF9tZW1hbGlnbi4uLiB5ZXMNCmNoZWNraW5nIGZvciBtZW1hbGlnbi4uLiBubw0KY2hlY2tp bmcgZm9yIHZhbGxvYy4uLiB5ZXMNCmNoZWNraW5nIGZvciBtYWxsb2NfdXNhYmxlX3NpemUu Li4geWVzDQpjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpLi4u IHllcw0KY2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKG1hbGxvYykpLi4uIHllcw0KY2hl Y2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpLi4uIHllcw0K Y2hlY2tpbmcgZm9yIExDX01FU1NBR0VTLi4uIHllcw0KY2hlY2tpbmcgZm9yIGxvY2FsZWNv bnYuLi4geWVzDQpjaGVja2luZyBmb3IgbnNwci1jb25maWcuLi4gL3Vzci9sb2NhbC9iaW4v bnNwci1jb25maWcNCmNoZWNraW5nIGZvciBOU1BSIC0gdmVyc2lvbiA+PSA0LjkuNi4uLiB5 ZXMNCmNoZWNraW5nIGZvciBwa2ctY29uZmlnLi4uIC91c3IvbG9jYWwvYmluL3BrZy1jb25m aWcNCmNoZWNraW5nIGZvciBsaWJldmVudC4uLiB5ZXMNCmNoZWNraW5nIE1PWl9MSUJFVkVO VF9DRkxBR1MuLi4gLUkvdXNyL2xvY2FsL2luY2x1ZGUvZXZlbnQyL2NvbXBhdCAtSS91c3Iv bG9jYWwvaW5jbHVkZSAgDQpjaGVja2luZyBNT1pfTElCRVZFTlRfTElCUy4uLiAtTC91c3Iv bG9jYWwvbGliL2V2ZW50MiAtbGV2ZW50LTIuMCAgDQpjaGVja2luZyBmb3IgbnNzLWNvbmZp Zy4uLiAvdXNyL2xvY2FsL2Jpbi9uc3MtY29uZmlnDQpjaGVja2luZyBmb3IgTlNTIC0gdmVy c2lvbiA+PSAzLjE0LjMuLi4geWVzDQpjaGVja2luZyBmb3IgWUFTTSBhc3NlbWJsZXIuLi4g Y2hlY2tpbmcgZm9yIHlhc20uLi4geWFzbQ0KY2hlY2tpbmcgZm9yIGpwZWdfZGVzdHJveV9j b21wcmVzcyBpbiAtbGpwZWcuLi4geWVzDQpjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1sei4u LiB5ZXMNCmNoZWNraW5nIGZvciBCWjJfYnpyZWFkIGluIC1sYnoyLi4uIHllcw0KY2hlY2tp bmcgZm9yIHBuZ19nZXRfdmFsaWQgaW4gLWxwbmcuLi4geWVzDQpjaGVja2luZyBmb3IgcG5n X2dldF9hY1RMIGluIC1scG5nLi4uIG5vDQo9PT0+ICBTY3JpcHQgIi4uL2NvbmZpZ3VyZSIg ZmFpbGVkIHVuZXhwZWN0ZWRseS4NClBsZWFzZSByZXBvcnQgdGhlIHByb2JsZW0gdG8gZ2Vj a29ARnJlZUJTRC5vcmcgW21haW50YWluZXJdIGFuZCBhdHRhY2ggdGhlDQoiL3Vzci9wb3J0 cy93d3cvZmlyZWZveC93b3JrL21vemlsbGEtcmVsZWFzZS9vYmotaTM4Ni1wb3J0YmxkLWZy ZWVic2Q5LjAvY29uZmlnLmxvZyINCmluY2x1ZGluZyB0aGUgb3V0cHV0IG9mIHRoZSBmYWls dXJlIG9mIHlvdXIgbWFrZSBjb21tYW5kLiBBbHNvLCBpdCBtaWdodCBiZQ0KYSBnb29kIGlk ZWEgdG8gcHJvdmlkZSBhbiBvdmVydmlldyBvZiBhbGwgcGFja2FnZXMgaW5zdGFsbGVkIG9u IHlvdXIgc3lzdGVtDQooZS5nLiBhIC91c3Ivc2Jpbi9wa2dfaW5mbyAtRWEpLg0KKioqIEVy cm9yIGNvZGUgMQ0KDQoNClN0b3AgaW4gL3Vzci9wb3J0cy93d3cvZmlyZWZveC4NCioqKiBF cnJvciBjb2RlIDENCg0KDQpTdG9wIGluIC91c3IvcG9ydHMvd3d3L2ZpcmVmb3guDQoNCg0K DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KbXkgcGtn IGluZm86OjoNCmFsc2EtbGliLTEuMC4yNg0KYXBwcmVzLTEuMC40DQphdGstMi42LjANCmF1 dG9jb25mLTIuMTMuMDAwMjI3XzYNCmF1dG9jb25mLTIuNjkNCmF1dG9jb25mLXdyYXBwZXIt MjAxMzA1MzANCmF1dG9tYWtlLTEuMTQNCmF1dG9tYWtlLXdyYXBwZXItMjAxMzA1MzANCmJh c2gtNC4yLjQ1DQpiZGZ0b3BjZi0xLjAuNA0KYmlncmVxc3Byb3RvLTEuMS4yDQpiaXNvbi0y LjcuMSwxDQpiaXRtYXAtMS4wLjcNCmNhaXJvLTEuMTAuMl81LDINCmNtYWtlLTIuOC4xMS4y DQpjbWFrZS1tb2R1bGVzLTIuOC4xMS4yDQpjb21wYXQ3eC1pMzg2LTcuMy43MDMwMDAuMjAx MDA4XzENCmNvbXBvc2l0ZXByb3RvLTAuNC4yDQpjb25zb2xla2l0LTAuNC4zDQpjdXBzLWNs aWVudC0xLjUuNF8xDQpkYW1hZ2Vwcm90by0xLjIuMQ0KZGI0MS00LjEuMjVfNA0KZGJ1cy0x LjYuMTINCmRidXMtZ2xpYi0wLjEwMC4yDQpkZWphdnUtMi4zMw0KZGVza3RvcC1maWxlLXV0 aWxzLTAuMjENCmRpYWJsby1qZGstMS42LjAuMDcuMDJfMTcNCmRpYWxvZzRwb3J0cy0wLjEu NV8xDQpkbWlkZWNvZGUtMi4xMQ0KZG14cHJvdG8tMi4zLjENCmRvY2Jvb2stNC4xXzQNCmRv Y2Jvb2steHNsLTEuNzYuMV8xDQpkcmktNy42LjFfMywyDQpkcmkycHJvdG8tMi44DQpkd20t Ni4wXzENCmVuY29kaW5ncy0xLjAuNCwxDQpldmllZXh0LTEuMS4xDQpleHBhdC0yLjAuMV8y DQpmaXhlc3Byb3RvLTUuMA0KZm9udC1hZG9iZS0xMDBkcGktMS4wLjMNCmZvbnQtYWRvYmUt NzVkcGktMS4wLjMNCmZvbnQtYWRvYmUtdXRvcGlhLTEwMGRwaS0xLjAuNA0KZm9udC1hZG9i ZS11dG9waWEtNzVkcGktMS4wLjQNCmZvbnQtYWRvYmUtdXRvcGlhLXR5cGUxLTEuMC40DQpm b250LWFsaWFzLTEuMC4zDQpmb250LWFyYWJpYy1taXNjLTEuMC4zDQpmb250LWJoLTEwMGRw aS0xLjAuMw0KZm9udC1iaC03NWRwaS0xLjAuMw0KZm9udC1iaC1sdWNpZGF0eXBld3JpdGVy LTEwMGRwaS0xLjAuMw0KZm9udC1iaC1sdWNpZGF0eXBld3JpdGVyLTc1ZHBpLTEuMC4zDQpm b250LWJoLXR0Zi0xLjAuMw0KZm9udC1iaC10eXBlMS0xLjAuMw0KZm9udC1iaXRzdHJlYW0t MTAwZHBpLTEuMC4zDQpmb250LWJpdHN0cmVhbS03NWRwaS0xLjAuMw0KZm9udC1iaXRzdHJl YW0tdHlwZTEtMS4wLjMNCmZvbnQtY3Jvbnl4LWN5cmlsbGljLTEuMC4zDQpmb250LWN1cnNv ci1taXNjLTEuMC4zDQpmb250LWRhZXdvby1taXNjLTEuMC4zDQpmb250LWRlYy1taXNjLTEu MC4zDQpmb250LWlibS10eXBlMS0xLjAuMw0KZm9udC1pc2FzLW1pc2MtMS4wLjMNCmZvbnQt amlzLW1pc2MtMS4wLjMNCmZvbnQtbWljcm8tbWlzYy0xLjAuMw0KZm9udC1taXNjLWN5cmls bGljLTEuMC4zDQpmb250LW1pc2MtZXRoaW9waWMtMS4wLjMNCmZvbnQtbWlzYy1tZWx0aG8t MS4wLjMNCmZvbnQtbWlzYy1taXNjLTEuMS4yDQpmb250LW11dHQtbWlzYy0xLjAuMw0KZm9u dC1zY2h1bWFjaGVyLW1pc2MtMS4xLjINCmZvbnQtc2NyZWVuLWN5cmlsbGljLTEuMC40DQpm b250LXNvbnktbWlzYy0xLjAuMw0KZm9udC1zdW4tbWlzYy0xLjAuMw0KZm9udC11dGlsLTEu My4wDQpmb250LXdpbml0emtpLWN5cmlsbGljLTEuMC4zDQpmb250LXhmcmVlODYtdHlwZTEt MS4wLjQNCmZvbnRjYWNoZXByb3RvLTAuMS4zDQpmb250Y29uZmlnLTIuOS4wLDENCmZvbnRz cHJvdG8tMi4xLjINCmZyZWV0eXBlMi0yLjQuMTJfMQ0KZ2FtaW4tMC4xLjEwXzUNCmdkay1w aXhidWYyLTIuMjYuNV8zDQpnZXR0ZXh0LTAuMTguMw0KZ2lvLWZhbS1iYWNrZW5kLTIuMzQu Mw0KZ2xpYi0yLjM0LjMNCmdscHJvdG8tMS40LjE2DQpnbWFrZS0zLjgyXzENCmdub21lX3N1 YnItMS4wDQpnbm9tZWhpZXItMy4wDQpnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4zNC4yDQpn c2ZvbnRzLTguMTFfNg0KZ3RrLTIuMjQuMTkNCmd0ay11cGRhdGUtaWNvbi1jYWNoZS0yLjI0 LjE5DQpoYWwtMC41LjE0XzIwDQpoZWxwMm1hbi0xLjQzLjMNCmhpY29sb3ItaWNvbi10aGVt ZS0wLjEyDQpodW5zcGVsbC0xLjMuMl8yDQppY2VhdXRoLTEuMC41DQppbnB1dHByb3RvLTIu Mw0KaW50bHRvb2wtMC41MC4yDQppc284ODc5LTE5ODZfMw0KamFzcGVyLTEuOTAwLjFfMTIN CmphdmF2bXdyYXBwZXItMi40XzMNCmpiaWdraXQtMS42DQpqZGstMS42LjAuM3A0XzI3DQpq cGVnLThfNA0Ka2Jwcm90by0xLjAuNg0KbGliRlMtMS4wLjUNCmxpYkdMLTcuNi4xXzQNCmxp YklDRS0xLjAuOCwxDQpsaWJJREwtMC44LjE0XzENCmxpYlNNLTEuMi4xLDENCmxpYlgxMS0x LjYuMCwxDQpsaWJYU2NyblNhdmVyLTEuMi4yDQpsaWJYVHJhcC0xLjAuMQ0KbGliWGF1LTEu MC44DQpsaWJYYXctMS4wLjExLDINCmxpYlhjb21wb3NpdGUtMC40LjQsMQ0KbGliWGN1cnNv ci0xLjEuMTQNCmxpYlhkYW1hZ2UtMS4xLjQNCmxpYlhkbWNwLTEuMS4xDQpsaWJYZXZpZS0x LjAuMw0KbGliWGV4dC0xLjMuMiwxDQpsaWJYZml4ZXMtNS4wLjENCmxpYlhmb250LTEuNC41 LDENCmxpYlhmb250Y2FjaGUtMS4wLjUNCmxpYlhmdC0yLjMuMQ0KbGliWGktMS43LjIsMQ0K bGliWGluZXJhbWEtMS4xLjMsMQ0KbGliWG11LTEuMS4xLDENCmxpYlhwLTEuMC4yLDENCmxp YlhwbS0zLjUuMTANCmxpYlhyYW5kci0xLjQuMQ0KbGliWHJlbmRlci0wLjkuOA0KbGliWHJl cy0xLjAuNw0KbGliWHQtMS4xLjQsMQ0KbGliWHRzdC0xLjIuMg0KbGliWHYtMS4wLjksMQ0K bGliWHZNQy0xLjAuOA0KbGliWHhmODZkZ2EtMS4xLjQNCmxpYlh4Zjg2bWlzYy0xLjAuMw0K bGliWHhmODZ2bS0xLjEuMw0KbGliY2hlY2stMC45LjEwDQpsaWJkbXgtMS4xLjMNCmxpYmRy bS0yLjQuMTdfMQ0KbGliZXZlbnQyLTIuMC4yMQ0KbGliZXhlY2luZm8tMS4xXzMNCmxpYmZm aS0zLjAuMTMNCmxpYmZvbnRlbmMtMS4xLjINCmxpYmdjcnlwdC0xLjUuMg0KbGliZ3BnLWVy cm9yLTEuMTINCmxpYmljb252LTEuMTRfMQ0KbGlibHRkbC0yLjQuMg0KbGlibm90aWZ5LTAu Ny4zXzINCmxpYm9sZFgtMS4wLjENCmxpYnBjaWFjY2Vzcy0wLjEzLjFfMw0KbGlicHRocmVh ZC1zdHVicy0wLjNfMw0KbGlidG9vbC0yLjQuMg0KbGlidjRsLTAuOC44XzENCmxpYnZvbHVt ZV9pZC0wLjgxLjENCmxpYnZweC0xLjEuMA0KbGlieGNiLTEuOS4xDQpsaWJ4a2JmaWxlLTEu MC44DQpsaWJ4a2J1aS0xLjAuMl8xDQpsaWJ4bWwyLTIuOC4wXzINCmxpYnhzbHQtMS4xLjI4 XzENCmxpYnlhbWwtMC4xLjRfMg0KbHVpdC0xLjEuMQ0KbTQtMS40LjE2XzEsMQ0KbWFrZWRl cGVuZC0xLjAuNCwxDQpta2ZvbnRkaXItMS4wLjcNCm1rZm9udHNjYWxlLTEuMS4xDQptcGcx MjMtMS4xNS40DQpuc3ByLTQuMTANCm5zcy0zLjE1LjENCm9wZW4tbW90aWYtMi4zLjQNCnA1 LVhNTC1QYXJzZXItMi40MV8xDQpwYW5nby0xLjMwLjENCnBjaWlkcy0yMDEzMDcwOQ0KcGNy ZS04LjMzDQpwZXJsLTUuMTQuNA0KcGl4bWFuLTAuMzAuMA0KcGtnY29uZi0wLjkuMl8xDQpw bmctMS41LjE3DQpwb2xpY3lraXQtMC45XzYNCnBvbGtpdC0wLjEwNV8xDQpwb3J0YXVkaXQt MC42LjANCnBvcnR1cGdyYWRlLTIuNC4xMC43LDINCnByaW50cHJvdG8tMS4wLjUNCnB5Mjct bGlieG1sMi0yLjguMA0KcHkyNy1zcWxpdGUzLTIuNy41XzMNCnB5dGhvbjI3LTIuNy41XzEN CnJhbmRycHJvdG8tMS40LjANCnJlY29yZHByb3RvLTEuMTQuMg0KcmVuZGVycHJvdG8tMC4x MS4xDQpyZXNvdXJjZXByb3RvLTEuMi4wDQpydWJ5LTEuOS4zLjQ0OCwxDQpydWJ5MTktYmRi LTAuNi42XzENCnJ1YnkxOS1kYXRlMi00LjAuMTkNCnNjcm5zYXZlcnByb3RvLTEuMi4yDQpz ZXNzcmVnLTEuMC44DQpzZXR4a2JtYXAtMS4zLjANCnNoYXJlZC1taW1lLWluZm8tMS4xDQpz bXByb3h5LTEuMC41DQpzcWxpdGUzLTMuNy4xN18xDQpzdGFydHVwLW5vdGlmaWNhdGlvbi0w LjEyXzENCnN1ZG8tMS44LjdfMQ0KdGlmZi00LjAuMw0KdHJhcHByb3RvLTMuNC4zDQp0d20t MS4wLjcNCnVlbWFjcy00LjANCnVuemlwLTYuMF8xDQp2NGxfY29tcGF0LTEuMC4yMDEyMDUw MV8xDQp2aWRlb3Byb3RvLTIuMy4xDQp4MTFwZXJmLTEuNS40DQp4YXV0aC0xLjAuNw0KeGJh Y2tsaWdodC0xLjEuMg0KeGJpdG1hcHMtMS4xLjENCnhjYWxjLTEuMC41DQp4Y2ItcHJvdG8t MS44DQp4Y2ItdXRpbC0wLjMuOV8xLDENCnhjYi11dGlsLXJlbmRlcnV0aWwtMC4zLjgNCnhj bG9jay0xLjAuNl8xDQp4Y21pc2Nwcm90by0xLjIuMg0KeGNtc2RiLTEuMC40DQp4Y29uc29s ZS0xLjAuNQ0KeGN1cnNvci10aGVtZXMtMS4wLjRfMQ0KeGN1cnNvcmdlbi0xLjAuNQ0KeGRw eWluZm8tMS4zLjENCnhkcmlpbmZvLTEuMC40DQp4ZXYtMS4yLjENCnhleHRwcm90by03LjIu MQ0KeGY4Ni1pbnB1dC1rZXlib2FyZC0xLjcuMA0KeGY4Ni1pbnB1dC1tb3VzZS0xLjkuMA0K eGY4Ni12aWRlby1pbnRlbC0yLjcuMV80DQp4Zjg2LXZpZGVvLXZlc2EtMi4zLjINCnhmODZi aWdmb250cHJvdG8tMS4yLjANCnhmODZkZ2EtMS4wLjMNCnhmODZkZ2Fwcm90by0yLjENCnhm ODZkcmlwcm90by0yLjEuMQ0KeGY4Nm1pc2Nwcm90by0wLjkuMw0KeGY4NnZpZG1vZGVwcm90 by0yLjMuMQ0KeGdhbW1hLTEuMC41DQp4Z2MtMS4wLjQNCnhob3N0LTEuMC42DQp4aW5lcmFt YXByb3RvLTEuMi4xDQp4aW5pdC0xLjMuMiwxDQp4aW5wdXQtMS42LjANCnhrYmNvbXAtMS4y LjQNCnhrYmV2ZC0xLjEuMw0KeGtidXRpbHMtMS4wLjQNCnhrZXlib2FyZC1jb25maWctMi45 DQp4a2lsbC0xLjAuMw0KeGxzYXRvbXMtMS4xLjENCnhsc2NsaWVudHMtMS4xLjINCnhtZXNz YWdlLTEuMC40DQp4bWxjYXRtZ3ItMi4yDQp4bW9kbWFwLTEuMC43DQp4b3JnLTcuNw0KeG9y Zy1hcHBzLTcuNw0KeG9yZy1kb2NzLTEuNywxDQp4b3JnLWRyaXZlcnMtNy43DQp4b3JnLWZv bnRzLTEwMGRwaS03LjcNCnhvcmctZm9udHMtNy43DQp4b3JnLWZvbnRzLTc1ZHBpLTcuNw0K eG9yZy1mb250cy1jeXJpbGxpYy03LjcNCnhvcmctZm9udHMtbWlzY2JpdG1hcHMtNy43DQp4 b3JnLWZvbnRzLXRydWV0eXBlLTcuN18xDQp4b3JnLWZvbnRzLXR5cGUxLTcuNw0KeG9yZy1s aWJyYXJpZXMtNy43DQp4b3JnLW1hY3Jvcy0xLjE3DQp4b3JnLXNlcnZlci0xLjcuN184LDEN CnhwZGYtMy4wM180DQp4cHItMS4wLjQNCnhwcm9wLTEuMi4xDQp4cHJvdG8tNy4wLjI0DQp4 cmFuZHItMS40LjENCnhyZGItMS4wLjkNCnhyZWZyZXNoLTEuMC41DQp4c2V0LTEuMi4yXzEN CnhzZXRtb2RlLTEuMC4wDQp4c2V0cm9vdC0xLjEuMQ0KeHRlcm0tMjk2DQp4dHJhbnMtMS4y LjcNCnh2aW5mby0xLjEuMg0KeHdkLTEuMC41DQp4d2luaW5mby0xLjEuMw0KeHd1ZC0xLjAu NA0KeWFzbS0xLjIuMA0KemlwLTMuMA0KDQoNCg0KdGhhbmtzIGEgbG90IDop
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?tencent_6FB220CD7BFB722172088FDF>