From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 7968 invoked from network); 17 Apr 2022 08:35:09 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 17 Apr 2022 08:35:09 -0000 Content-Type: multipart/mixed; boundary="===============0813527736307488538==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_poppler=3A_update_to_22=2E03=2E0?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 17 Apr 2022 10:35:09 +0200 List-Id: Message-ID: <20220417083509.HWxjiT277mHR4FOeKsUgTEqGwwI622_r5btzTu9zolo@z> GitHub notification mails are now in MIME to allow UTF8. --===============0813527736307488538== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIHBvcHBsZXIKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzM2MzUxCgpwb3BwbGVyOiB1cGRhdGUgdG8gMjIuMDMuMAo8IS0t IFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJl IG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0 ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcg cGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1 aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxv Yi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioN Ci0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRo YW4gMiBob3VycywgcGxlYXNlIFtza2lwIENJXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWlu dGVncmF0aW9uKQ0KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1 cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMgc2VjdGlvbiBp ZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBDSS4NCi0tPg0KPCEtLSANCiMjIyMgTG9jYWwgYnVp bGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hp dGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNl IGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFy Y2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZp bGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwv MzYzNTEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0813527736307488538== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-poppler-36351.patch" RnJvbSA4MTA2Y2I5ZmY0YTBhOTVkZjc2MWI2YTBjMTg5ZmE2MzdkZTViOGU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODoyODowOCAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMS84XSBwb3BwbGVyOiB1cGRhdGUgdG8gMjIuMDQuMAoKLS0tCiBjb21tb24v c2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyY3BrZ3MvcG9wcGxl ci9wYXRjaGVzL2ZpeC1jZmxhZ3MucGF0Y2ggfCAyMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNy Y3BrZ3MvcG9wcGxlci90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgfCAxMyArKysrKysrKystLS0t CiAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcG9wcGxlci9wYXRjaGVzL2ZpeC1jZmxhZ3MucGF0Y2gK CmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBhZTRiYjQ0 YzU3YTMuLjIxNDBhNWQ1MzkzYiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21t b24vc2hsaWJzCkBAIC0zNDcsNyArMzQ3LDcgQEAgbGliTWFnaWNrQ29yZS02LlExNi5zby43IGxp Ym1hZ2ljazYtNi45LjExLjYxXzEKIGxpYk1hZ2lja1dhbmQtNi5RMTYuc28uNyBsaWJtYWdpY2s2 LTYuOS4xMS42MV8xCiBsaWJNYWdpY2srKy02LlExNi5zby45IGxpYm1hZ2ljazYtNi45LjEyLjFf MQogbGlibHRkbC5zby43IGxpYmx0ZGwtMi4yLjZfMQotbGlicG9wcGxlci5zby4xMTEgbGlicG9w cGxlci0yMS4wNy4wXzEKK2xpYnBvcHBsZXIuc28uMTIwIGxpYnBvcHBsZXItMjIuMDMuMF8xCiBs aWJwb3BwbGVyLWdsaWIuc28uOCBwb3BwbGVyLWdsaWItMC4xOC4yXzEKIGxpYnBvcHBsZXItY3Bw LnNvLjAgcG9wcGxlci1jcHAtMC4xOC4yXzEKIGxpYnBvcHBsZXItcXQ1LnNvLjEgcG9wcGxlci1x dDUtMC4zMS4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9wcGxlci9wYXRjaGVzL2ZpeC1jZmxh Z3MucGF0Y2ggYi9zcmNwa2dzL3BvcHBsZXIvcGF0Y2hlcy9maXgtY2ZsYWdzLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMWE0MDhkMDNjY2UuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3BvcHBsZXIvcGF0Y2hlcy9maXgtY2ZsYWdzLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjEgKzAsMCBAQAotZGlmZiAtLWdpdCBhL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jv cy5jbWFrZSBiL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jvcy5jbWFrZQotaW5kZXggZmUxMTgy ZC4uNjAxM2JkMiAxMDA2NDQKLS0tLSBhL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jvcy5jbWFr ZQotKysrIGIvY21ha2UvbW9kdWxlcy9Qb3BwbGVyTWFjcm9zLmNtYWtlCi1AQCAtMTA0LDE0ICsx MDQsMTQgQEAgaWYoQ01BS0VfQ09NUElMRVJfSVNfR05VQ1hYKQotICAgc2V0KERFRkFVTFRfQ09N UElMRV9XQVJOSU5HU19FWFRSQSAiJHtfd2Fybn0gJHtfd2Fybnh9IikKLSAKLSAgIHNldChfc2F2 ZV9jeHhmbGFncyAiJHtDTUFLRV9DWFhfRkxBR1N9IikKLS0gIHNldChDTUFLRV9DWFhfRkxBR1Mg ICAgICAgICAgICAgICAgIi1mbm8tZXhjZXB0aW9ucyAtZm5vLWNoZWNrLW5ldyAtZm5vLWNvbW1v biAtZm5vLW9wZXJhdG9yLW5hbWVzIC1EX0RFRkFVTFRfU09VUkNFIikKLSsgIHNldChDTUFLRV9D WFhfRkxBR1MgICAgICAgICAgICAgICAgIi1mbm8tZXhjZXB0aW9ucyAtZm5vLWNoZWNrLW5ldyAt Zm5vLWNvbW1vbiAtZm5vLW9wZXJhdG9yLW5hbWVzIC1EX0RFRkFVTFRfU09VUkNFICR7X3NhdmVf Y3h4ZmxhZ3N9IikKLSAgIHNldChDTUFLRV9DWFhfRkxBR1NfUkVMV0lUSERFQklORk8gIi1PMiAt ZyAke19zYXZlX2N4eGZsYWdzfSIpCi0gICBzZXQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgICAg ICAgICItTzIgLUROREVCVUcgJHtfc2F2ZV9jeHhmbGFnc30iKQotICAgc2V0KENNQUtFX0NYWF9G TEFHU19ERUJVRyAgICAgICAgICAiLWcgLU8yIC1mbm8tcmVvcmRlci1ibG9ja3MgLWZuby1zY2hl ZHVsZS1pbnNucyAtZm5vLWlubGluZSAke19zYXZlX2N4eGZsYWdzfSIpCi0gICBzZXQoQ01BS0Vf Q1hYX0ZMQUdTX0RFQlVHRlVMTCAgICAgICItZzMgLWZuby1pbmxpbmUgJHtfc2F2ZV9jeHhmbGFn c30iKQotICAgc2V0KENNQUtFX0NYWF9GTEFHU19QUk9GSUxFICAgICAgICAiLWczIC1mbm8taW5s aW5lIC1mdGVzdC1jb3ZlcmFnZSAtZnByb2ZpbGUtYXJjcyAke19zYXZlX2N4eGZsYWdzfSIpCi0g ICBzZXQoX3NhdmVfY2ZsYWdzICIke0NNQUtFX0NfRkxBR1N9IikKLS0gIHNldChDTUFLRV9DX0ZM QUdTICAgICAgICAgICAgICAgICAgIi1zdGQ9Yzk5IC1EX0RFRkFVTFRfU09VUkNFIikKLSsgIHNl dChDTUFLRV9DX0ZMQUdTICAgICAgICAgICAgICAgICAgIi1zdGQ9Yzk5IC1EX0RFRkFVTFRfU09V UkNFICR7X3NhdmVfY2ZsYWdzfSIpCi0gICBzZXQoQ01BS0VfQ19GTEFHU19SRUxXSVRIREVCSU5G TyAgICItTzIgLWcgJHtfc2F2ZV9jZmxhZ3N9IikKLSAgIHNldChDTUFLRV9DX0ZMQUdTX1JFTEVB U0UgICAgICAgICAgIi1PMiAtRE5ERUJVRyAke19zYXZlX2NmbGFnc30iKQotICAgc2V0KENNQUtF X0NfRkxBR1NfREVCVUcgICAgICAgICAgICAiLWcgLU8yIC1mbm8tcmVvcmRlci1ibG9ja3MgLWZu by1zY2hlZHVsZS1pbnNucyAtZm5vLWlubGluZSAke19zYXZlX2NmbGFnc30iKQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9wb3BwbGVyL3RlbXBsYXRlIGIvc3JjcGtncy9wb3BwbGVyL3RlbXBsYXRlCmlu ZGV4IDBhYTRlZGYyMGI1Ny4uNTRiMDNmMDRlOGJjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BvcHBs ZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wb3BwbGVyL3RlbXBsYXRlCkBAIC0zLDEzICszLDE1 IEBACiAjIFRISVMgUEtHIE1VU1QgQkUgU1lOQ0hST05JWkVEIFdJVEggInNyY3BrZ3MvcG9wcGxl ci1xdDUiLgogIwogcGtnbmFtZT1wb3BwbGVyCi12ZXJzaW9uPTIxLjA3LjAKK3ZlcnNpb249MjIu MDQuMAogcmV2aXNpb249MQorX3Rlc3RWZXJzaW9uPTA3NjJlMDE0NDE0M2U2ODBlMjRlYzhkNGMz NGM0NmMzNzE2Yjg3MTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9ImdpciIKIGNv bmZpZ3VyZV9hcmdzPSItREVOQUJMRV9VTlNUQUJMRV9BUElfQUJJX0hFQURFUlM9T04gLURFTkFC TEVfQ1BQPU9OCiAgLURFTkFCTEVfR0xJQj1PTiAtREVOQUJMRV9HT0JKRUNUX0lOVFJPU1BFQ1RJ T049JCh2b3B0X2lmIGdpciBPTiBPRkYpCi0gLURFTkFCTEVfUVQ1PU9GRiAtREVOQUJMRV9VVElM Uz1PTiAtREVOQUJMRV9CT09TVD0kKHZvcHRfaWYgYm9vc3QgT04gT0ZGKSIKKyAtREVOQUJMRV9R VDU9T0ZGIC1ERU5BQkxFX1VUSUxTPU9OIC1ERU5BQkxFX0JPT1NUPSQodm9wdF9pZiBib29zdCBP TiBPRkYpCisgLURDTUFLRV9CVUlMRF9UWVBFPVJFTEVBU0UgLURURVNUREFUQURJUj0nJHtYQlBT X0JVSUxERElSfS90ZXN0LSR7X3Rlc3RWZXJzaW9ufSciCiBob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWcgZ2xpYi1kZXZlbCIKIG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgbGliZ2xpYi1kZXZl bCBjYWlyby1kZXZlbCB0aWZmLWRldmVsIGxjbXMyLWRldmVsCiBsaWJjdXJsLWRldmVsIGxpYm9w ZW5qcGVnMi1kZXZlbCAkKHZvcHRfaWYgYm9vc3QgYm9vc3QtZGV2ZWwpIgpAQCAtMTcsOCArMTks MTEgQEAgc2hvcnRfZGVzYz0iUERGIHJlbmRlcmluZyBsaWJyYXJ5IgogbWFpbnRhaW5lcj0iT3Jw aGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIs IEdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9wb3BwbGVyLmZyZWVkZXNrdG9w Lm9yZyIKLWRpc3RmaWxlcz0iJHtob21lcGFnZX0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWUyNmFiMjlmNjgwNjVkZTRkNjU2MmYwYTNlMmI1NDM1YTgzY2E5MmJlNTcz Yjk5YTFjODE5OThmYTI4NmE0ZDQKK2NoYW5nZWxvZz0iaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0 b3Aub3JnL3BvcHBsZXIvcG9wcGxlci8tL3Jhdy9tYXN0ZXIvTkVXUyIKK2Rpc3RmaWxlcz0iJHto b21lcGFnZX0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54egorIGh0dHBzOi8vZ2l0bGFiLmZy ZWVkZXNrdG9wLm9yZy9wb3BwbGVyL3Rlc3QvLS9hcmNoaXZlLyR7X3Rlc3RWZXJzaW9ufS90ZXN0 LSR7X3Rlc3RWZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT0iODEzZmI0YjkwZTdiZGE2M2RmNTMy MDVjNTQ4NjAyYmFlNzI4ODg3YTYwZjQwNDhhYWU0ZGJkOWIxOTI3ZGVmZgorIDIxNDAxMDQwZDVj Y2YwNWU5ZWQ4NWMwOWE1ZGUyMjVkMDViMjcwZjhiYTc1OTIxYWY4ZmY2NzExNGYyMzEzYTYiCiAK IGJ1aWxkX29wdGlvbnM9ImdpciBib29zdCIKIGJ1aWxkX29wdGlvbnNfZGVmYXVsdD0iZ2lyIGJv b3N0IgoKRnJvbSBhNTc3ZmRmM2Q1NTJlZTExZjE4MGFlY2ZjMjkwNzc5ZjEwMzJlMzllIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJz Lm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODoyOTowMiAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggMi84XSBwb3BwbGVyLXF0NTogdXBkYXRlIHRvIDIyLjA0LjAKCi0t LQogc3JjcGtncy9wb3BwbGVyLXF0NS9wYXRjaGVzICB8IDEgLQogc3JjcGtncy9wb3BwbGVyLXF0 NS90ZW1wbGF0ZSB8IDggKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcG9wcGxlci1xdDUv cGF0Y2hlcwoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9wcGxlci1xdDUvcGF0Y2hlcyBiL3NyY3Br Z3MvcG9wcGxlci1xdDUvcGF0Y2hlcwpkZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggNjM2 ZTRhYzJjYmQ5Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wb3BwbGVyLXF0NS9wYXRjaGVz CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotLi4vcG9wcGxlci9wYXRjaGVzClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wb3BwbGVyLXF0NS90ZW1w bGF0ZSBiL3NyY3BrZ3MvcG9wcGxlci1xdDUvdGVtcGxhdGUKaW5kZXggMmExNWY1NjEyOGMxLi45 NzA3Y2Q3YmViMTIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcG9wcGxlci1xdDUvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9wb3BwbGVyLXF0NS90ZW1wbGF0ZQpAQCAtNCwxMiArNCwxMyBAQAogIyBJVCBJ UyBTUExJVCBUTyBBVk9JRCBBIENZQ0xJQyBERVBFTkRFTkNZOiBxdDUgLT4gY3VwcyAtPiBwb3Bw bGVyIC0+IHF0NS4KICMKIHBrZ25hbWU9cG9wcGxlci1xdDUKLXZlcnNpb249MjEuMDcuMAordmVy c2lvbj0yMi4wNC4wCiByZXZpc2lvbj0xCiB3cmtzcmM9InBvcHBsZXItJHt2ZXJzaW9ufSIKIGJ1 aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURFTkFCTEVfVU5TVEFCTEVfQVBJX0FC SV9IRUFERVJTPU9OIC1ERU5BQkxFX0dMSUI9T0ZGCi0gLURFTkFCTEVfUVQ1PU9OIC1ERU5BQkxF X1VUSUxTPU9GRiAtREVOQUJMRV9DUFA9T0ZGIC1ERU5BQkxFX0JPT1NUPU9GRiIKKyAtREVOQUJM RV9RVDU9T04gLURFTkFCTEVfVVRJTFM9T0ZGIC1ERU5BQkxFX0NQUD1PRkYgLURFTkFCTEVfQk9P U1Q9T0ZGCisgLURDTUFLRV9CVUlMRF9UWVBFPVJFTEVBU0UiCiBob3N0bWFrZWRlcGVuZHM9InBr Zy1jb25maWcgcXQ1LWRldmVsIgogbWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCB0aWZmLWRldmVs IGxjbXMyLWRldmVsIGxpYmN1cmwtZGV2ZWwKICBmb250Y29uZmlnLWRldmVsIGNhaXJvLWRldmVs IGxpYm9wZW5qcGVnMi1kZXZlbCBxdDUtZGV2ZWwiCkBAIC0xNyw4ICsxOCw5IEBAIHNob3J0X2Rl c2M9IlBERiByZW5kZXJpbmcgbGlicmFyeSAtIFF0NSBiaW5kaW5ncyIKIG1haW50YWluZXI9Ik9y cGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVy LCBHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcG9wcGxlci5mcmVlZGVza3Rv cC5vcmciCitjaGFuZ2Vsb2c9Imh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb3BwbGVy L3BvcHBsZXIvLS9yYXcvbWFzdGVyL05FV1MiCiBkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L3BvcHBs ZXItJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lMjZhYjI5ZjY4MDY1ZGU0ZDY1NjJmMGEz ZTJiNTQzNWE4M2NhOTJiZTU3M2I5OWExYzgxOTk4ZmEyODZhNGQ0CitjaGVja3N1bT04MTNmYjRi OTBlN2JkYTYzZGY1MzIwNWM1NDg2MDJiYWU3Mjg4ODdhNjBmNDA0OGFhZTRkYmQ5YjE5MjdkZWZm CiAjIGZhaWxzIHRvIGZpbmQgYSBidW5jaCBvZiBmaWxlcwogbWFrZV9jaGVjaz1ubwogCgpGcm9t IDQyYjY3NzExNGJjM2FiOTQxZWNkM2RjOTY4NmFkN2E0N2JlOGQ1MzIgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IG9yZW82MzkgPDMxOTE2Mzc5K09yZW82MzlAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgpEYXRlOiBGcmksIDI1IE1hciAyMDIyIDE4OjI5OjMyIC0wNzAwClN1YmplY3Q6 IFtQQVRDSCAzLzhdIHBvcHBsZXItZGF0YTogdXBkYXRlIHRvIDAuNC4xMQoKLS0tCiBzcmNwa2dz L3BvcHBsZXItZGF0YS90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BvcHBsZXItZGF0 YS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcG9wcGxlci1kYXRhL3RlbXBsYXRlCmluZGV4IDQ4ZGJhMjQ5 N2ZiNi4uNGI2ZTk1NmI3YjcyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BvcHBsZXItZGF0YS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3BvcHBsZXItZGF0YS90ZW1wbGF0ZQpAQCAtMSwxMyArMSwxMyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncG9wcGxlci1kYXRhJwogcGtnbmFtZT1wb3BwbGVyLWRh dGEKLXZlcnNpb249MC40LjEwCit2ZXJzaW9uPTAuNC4xMQogcmV2aXNpb249MQogc2hvcnRfZGVz Yz0iRW5jb2RpbmcgZGF0YSBmb3IgdGhlIHBvcHBsZXIgUERGIHJlbmRlcmluZyBsaWJyYXJ5Igog bWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9Ik1J VCwgR1BMLTIuMC1vci1sYXRlciwgQlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vcG9w cGxlci5mcmVlZGVza3RvcC5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL3BvcHBsZXIuZnJlZWRl c2t0b3Aub3JnLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT02ZTJmY2Vm NjZlYzhjNDQ2MjVmOTQyOTJjY2Y4YWY5ZjFkOTE4YjQxMGQ1YWE2OWMyNzRjZTY3Mzg3OTY3YjMw CitjaGVja3N1bT0yY2VjMDVjZDFiYjAzYWY5OGE4YjA2YTFlMjJmNmU2ZTFhNjViMWUyZjM4MTZj YjMwNjliYjA4NzQ4MjVmMDhjCiAKIGRvX2luc3RhbGwoKSB7CiAJbWFrZSBwcmVmaXg9L3VzciBE RVNURElSPSR7REVTVERJUn0gaW5zdGFsbAoKRnJvbSAzZWFkZTI4ZTc5YzMzZjQ0NGJjM2U3ZDIw M2ZiZDBkNGNhOTI5ZmYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwz MTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBN YXIgMjAyMiAxODozMzozMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNC84XSBjYWxsaWdyYTogcmVi dWlsZCBhZ2FpbnN0IGxpYnBvcHBsZXIgMjIuMDQuMAoKLS0tCiAuLi4vcGF0Y2hlcy8wMDAxLUZp eC1zb21lLW1vcmUtd2FybmluZ3MucGF0Y2ggfCA0NDAgKysrKysrKysrKysrKysrKysrCiAuLi4v MDAwMi1NYWtlLXNob3ctaGlkZGVuLXJvdy1zLXdvcmsucGF0Y2ggICAgfCAgMjkgKysKIHNyY3Br Z3MvY2FsbGlncmEvcGF0Y2hlcy9jKysxNy5wYXRjaCAgICAgICAgICB8ICAxNiArCiAuLi4vcGF0 Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoICAgICAgICAgfCAgMjIgKwogc3JjcGtncy9j YWxsaWdyYS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiA1IGZpbGVzIGNo YW5nZWQsIDUwOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzLzAwMDEtRml4LXNvbWUtbW9yZS13YXJuaW5ncy5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy8wMDAyLU1h a2Utc2hvdy1oaWRkZW4tcm93LXMtd29yay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2FsbGlncmEvcGF0Y2hlcy9jKysxNy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2FsbGlncmEvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzLzAwMDEtRml4LXNvbWUtbW9yZS13YXJuaW5ncy5w YXRjaCBiL3NyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy8wMDAxLUZpeC1zb21lLW1vcmUtd2Fybmlu Z3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42Y2MxMzI5 MjViMTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAwMS1G aXgtc29tZS1tb3JlLXdhcm5pbmdzLnBhdGNoCkBAIC0wLDAgKzEsNDQwIEBACitGcm9tIDA2OGNk OWFlYzExMDUyNzMzZTM5Mzk3NjE0MjUxNmQyMTkwZTQ1NjQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBQaWVycmUgRHVjcm9xdWV0IDxwaW5hcmFmQHBpbmFyYWYuaW5mbz4KK0RhdGU6 IFN1biwgMjggRmViIDIwMjEgMjM6MjM6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHNv bWUgbW9yZSB3YXJuaW5ncworCistLS0KKyBmaWx0ZXJzL2xpYm1zb294bWwvTXNvb1htbERpYWdy YW1SZWFkZXJfcC5jcHAgICAgICAgIHwgIDEgKworIGZpbHRlcnMvc2hlZXRzL2Nzdi9jc3ZpbXBv cnQuY2MgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIGZpbHRlcnMvc2hlZXRzL2V4Y2Vs L3NpZGV3aW5kZXIvZXhjZWwuY3BwICAgICAgICAgICAgfCAgMSArCisgZmlsdGVycy9zaGVldHMv ZXhjZWwvc2lkZXdpbmRlci9mb3JtdWxhcy5jcHAgICAgICAgICB8ICAyICstCisgZmlsdGVycy9z aGVldHMvZ251bWVyaWMvZ251bWVyaWNleHBvcnQuY2MgICAgICAgICAgICB8ICA1ICsrLS0tCisg ZmlsdGVycy9zaGVldHMvaHRtbC9odG1sZXhwb3J0LmNjICAgICAgICAgICAgICAgICAgICB8ICAy IC0tCisgZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0L2xhdGV4ZXhwb3J0LmNjICAgICAgICAg ICB8ICAxIC0KKyBmaWx0ZXJzL3NoZWV0cy9sYXRleC9leHBvcnQvdGFibGUuY2MgICAgICAgICAg ICAgICAgIHwgIDEgKworIGZpbHRlcnMvc2hlZXRzL3hsc3gvWGxzeFhtbFdvcmtzaGVldFJlYWRl ci5jcHAgICAgICAgfCAgMSAtCisgZmlsdGVycy9zdGFnZS9wcHR4L1BwdHhYbWxEb2N1bWVudFJl YWRlci5jcHAgICAgICAgICB8ICAyICstCisgZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3RleHRo YW5kbGVyLmNwcCAgICAgICAgICAgICB8ICAyICsrCisgZmlsdGVycy93b3Jkcy9tc3dvcmQtb2Rm L3d2Mi9zcmMvcGFyc2VyOXguY3BwICAgICAgICB8ICA0ICsrKy0KKyBmaWx0ZXJzL3dvcmRzL21z d29yZC1vZGYvd3YyL3NyYy9zdHlsZXMuY3BwICAgICAgICAgIHwgIDQgKy0tLQorIGZpbHRlcnMv d29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5oICAgICAgICAgICAgfCAxMSArKysrKysr Ky0tLQorIGdlbWluaS9saWIvR2VtaW5pTWFpbldpbmRvdy5jcHAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArKworIGxpYnMvcGFnZWFwcC9Lb1BBT2RmUGFnZVNhdmVIZWxwZXIuY3BwICAgICAg ICAgICAgICAgfCAgMiArLQorIHBsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JE ZXZpY2UuaCAgICAgICAgfCAgNiArKy0tLS0KKyBwbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNl TmF2aWdhdG9yRXZlbnQuaCAgICAgICAgIHwgIDIgKy0KKyBwbHVnaW5zL3NwYWNlbmF2aWdhdG9y L1NwYWNlTmF2aWdhdG9yUG9sbGluZ1RocmVhZC5oIHwgIDMgKy0tCisgcGx1Z2lucy92ZWN0b3Jz aGFwZS9WZWN0b3JTaGFwZS5jcHAgICAgICAgICAgICAgICAgICB8ICAxICsKKyBzaGVldHMvZnVu Y3Rpb25zL2RhdGV0aW1lLmNwcCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKworIHNoZWV0 cy9wYXJ0L0RpZ2VzdC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysr LS0tLQorIHNoZWV0cy9zaGFwZS9UYWJsZVRvb2xGYWN0b3J5LmggICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQorIHNoZWV0cy90ZXN0cy9UZXN0U29ydC5jcHAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNCArKy0tCisgMjQgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwg MzIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9maWx0ZXJzL2xpYm1zb294bWwvTXNvb1ht bERpYWdyYW1SZWFkZXJfcC5jcHAgYi9maWx0ZXJzL2xpYm1zb294bWwvTXNvb1htbERpYWdyYW1S ZWFkZXJfcC5jcHAKK2luZGV4IDE0YjA4NTMxMjYyLi4xNGZjNmFiOWE3MSAxMDA2NDQKKy0tLSBh L2ZpbHRlcnMvbGlibXNvb3htbC9Nc29vWG1sRGlhZ3JhbVJlYWRlcl9wLmNwcAorKysrIGIvZmls dGVycy9saWJtc29veG1sL01zb29YbWxEaWFncmFtUmVhZGVyX3AuY3BwCitAQCAtODcyLDYgKzg3 Miw3IEBAIHZvaWQgTGF5b3V0Tm9kZUF0b206OmZpbmlzaEJ1aWxkKENvbnRleHQqIGNvbnRleHQp IHsKKyAgICAgICAgIGNhc2UgQWxnb3JpdGhtQXRvbTo6VW5rbm93bkFsZzoKKyAgICAgICAgICAg ICB3YXJuTXNvb1htbCA8PCAiTGF5b3V0IHdpdGggbmFtZT0iIDw8IG1fbmFtZSA8PCAiZGVmaW5l cyBhbiB1bmtub3duIGFsZ29yaXRobS4iOworICAgICAgICAgICAgIC8vIGZhbGwgdGhyb3VnaCBh bmQgdXNlIHRoZSBjb21wb3NpdGUtYWxnb3JpdGhtCisrICAgICAgICAvLyBmYWxsIHRocm91Z2gK KyAgICAgICAgIGNhc2UgQWxnb3JpdGhtQXRvbTo6Q29tcG9zaXRlQWxnOiBtX2FsZ29yaXRobUlt cGwgPSBuZXcgQ29tcG9zaXRlQWxnb3JpdGhtOyBicmVhazsKKyAgICAgICAgIGNhc2UgQWxnb3Jp dGhtQXRvbTo6Q29ubmVjdG9yQWxnOiBtX2FsZ29yaXRobUltcGwgPSBuZXcgQ29ubmVjdG9yQWxn b3JpdGhtOyBicmVhazsKKyAgICAgICAgIGNhc2UgQWxnb3JpdGhtQXRvbTo6Q3ljbGVBbGc6IG1f YWxnb3JpdGhtSW1wbCA9IG5ldyBDeWNsZUFsZ29yaXRobTsgYnJlYWs7CitkaWZmIC0tZ2l0IGEv ZmlsdGVycy9zaGVldHMvY3N2L2NzdmltcG9ydC5jYyBiL2ZpbHRlcnMvc2hlZXRzL2Nzdi9jc3Zp bXBvcnQuY2MKK2luZGV4IDg5ZmI3MTYyZTAwLi4xMDA4ZDE4NmYxOCAxMDA2NDQKKy0tLSBhL2Zp bHRlcnMvc2hlZXRzL2Nzdi9jc3ZpbXBvcnQuY2MKKysrKyBiL2ZpbHRlcnMvc2hlZXRzL2Nzdi9j c3ZpbXBvcnQuY2MKK0BAIC05Nyw4ICs5Nyw4IEBAIEtvRmlsdGVyOjpDb252ZXJzaW9uU3RhdHVz IENTVkZpbHRlcjo6Y29udmVydChjb25zdCBRQnl0ZUFycmF5JiBmcm9tLCBjb25zdCBRQnl0Cisg ICAgICAgICByZXR1cm4gS29GaWx0ZXI6OkZpbGVOb3RGb3VuZDsKKyAgICAgfQorIAorLSAgICBR U3RyaW5nIGNzdl9kZWxpbWl0ZXI7CisgICAgIC8vICMjIyMjIyBGSVhNRTogZGlzYWJsZWQgZm9y IG5vdworKyAgICAvL1FTdHJpbmcgY3N2X2RlbGltaXRlcjsKKyAgICAgLy9pZiAoIWNvbmZpZy5p c051bGwoKSkKKyAgICAgLy8gICAgY3N2X2RlbGltaXRlciA9IGNvbmZpZ1swXTsKKyAKK2RpZmYg LS1naXQgYS9maWx0ZXJzL3NoZWV0cy9leGNlbC9zaWRld2luZGVyL2V4Y2VsLmNwcCBiL2ZpbHRl cnMvc2hlZXRzL2V4Y2VsL3NpZGV3aW5kZXIvZXhjZWwuY3BwCitpbmRleCBhYjU5MjIyNWNhNi4u N2ZhNTYzM2Q0MzMgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3NoZWV0cy9leGNlbC9zaWRld2luZGVy L2V4Y2VsLmNwcAorKysrIGIvZmlsdGVycy9zaGVldHMvZXhjZWwvc2lkZXdpbmRlci9leGNlbC5j cHAKK0BAIC0yNDQ5LDYgKzI0NDksNyBAQCBib29sIEV4Y2VsUmVhZGVyOjpsb2FkKFdvcmtib29r KiB3b3JrYm9vaywgY29uc3QgY2hhciogZmlsZW5hbWUpCisgICAgICAgICAgICAgICB9IGVsc2Ug eworICAgICAgICAgICAgICAgICBieXRlc19yZWFkID0gY29tYk9ialN0cmVhbS0+cmVhZCggYnVm ZmVyLCBtYXJrZXJPckxlbmd0aCApOworICAgICAgICAgICAgICAgICBRU3RyaW5nIGFuc2lTdHJp bmcgPSByZWFkQnl0ZVN0cmluZyhidWZmZXIsIG1hcmtlck9yTGVuZ3RoKTsKKysgICAgICAgICAg ICAgICAgUV9VTlVTRUQoYW5zaVN0cmluZyk7CisgICAgICAgICAgICAgICAgIC8vVE9ETy4uLgor ICAgICAgICAgICAgICAgICAvL3ByaW50ZiggIm1hcmtlck9yTGVuZ3RoPSVpIGFuc2lTdHJpbmc9 JXNcbiIsbWFya2VyT3JMZW5ndGgsYW5zaVN0cmluZy5hc2NpaSgpICk7CisgICAgICAgICAgICAg ICB9CitkaWZmIC0tZ2l0IGEvZmlsdGVycy9zaGVldHMvZXhjZWwvc2lkZXdpbmRlci9mb3JtdWxh cy5jcHAgYi9maWx0ZXJzL3NoZWV0cy9leGNlbC9zaWRld2luZGVyL2Zvcm11bGFzLmNwcAoraW5k ZXggNjI3NDc0NjlhNDkuLjAxMzJkMzllMDI0IDEwMDY0NAorLS0tIGEvZmlsdGVycy9zaGVldHMv ZXhjZWwvc2lkZXdpbmRlci9mb3JtdWxhcy5jcHAKKysrKyBiL2ZpbHRlcnMvc2hlZXRzL2V4Y2Vs L3NpZGV3aW5kZXIvZm9ybXVsYXMuY3BwCitAQCAtMTUxMyw3ICsxNTEzLDcgQEAgc3RhdGljIHZv aWQgbWVyZ2VUb2tlbnMoVVN0cmluZ1N0YWNrKiBzdGFjaywgdW5zaWduZWQgY291bnQsIGNvbnN0 IFFTdHJpbmcgJm1lcmcKKyAgICAgaWYgKCFzdGFjaykgcmV0dXJuOworICAgICBpZiAoc3RhY2st PnNpemUoKSA8IGNvdW50KSByZXR1cm47CisgCistICAgIFFTdHJpbmcgczEsIHMyOworKyAgICBR U3RyaW5nIHMxOworIAorICAgICB3aGlsZSAoY291bnQpIHsKKyAgICAgICAgIGNvdW50LS07Citk aWZmIC0tZ2l0IGEvZmlsdGVycy9zaGVldHMvZ251bWVyaWMvZ251bWVyaWNleHBvcnQuY2MgYi9m aWx0ZXJzL3NoZWV0cy9nbnVtZXJpYy9nbnVtZXJpY2V4cG9ydC5jYworaW5kZXggMTI1NmM2OGJj NzQuLjI0Njg1NDhlZGIzIDEwMDY0NAorLS0tIGEvZmlsdGVycy9zaGVldHMvZ251bWVyaWMvZ251 bWVyaWNleHBvcnQuY2MKKysrKyBiL2ZpbHRlcnMvc2hlZXRzL2dudW1lcmljL2dudW1lcmljZXhw b3J0LmNjCitAQCAtMTI5MywxNSArMTI5MywxMyBAQCBLb0ZpbHRlcjo6Q29udmVyc2lvblN0YXR1 cyBHTlVNRVJJQ0V4cG9ydDo6Y29udmVydChjb25zdCBRQnl0ZUFycmF5JiBmcm9tLCBjb25zdAor ICAgICAgICAgICAgICAgICBpID0gMDsKKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAg UVN0cmluZyBsaW5lOworICAgICAgICAgICAgIGZvciAoaW50IGN1cnJlbnRjb2x1bW4gPSAxOyBj dXJyZW50Y29sdW1uIDw9IGlNYXhDb2x1bW47IGN1cnJlbnRjb2x1bW4rKykgeworICAgICAgICAg ICAgICAgICBRRG9tRWxlbWVudCBjZWxsX2NvbnRlbnRzOworICAgICAgICAgICAgICAgICBDZWxs IGNlbGwodGFibGUsIGN1cnJlbnRjb2x1bW4sIGN1cnJlbnRyb3cpOworIAorLSAgICAgICAgICAg ICAgICBRU3RyaW5nIHRleHQsIHN0eWxlOworKyAgICAgICAgICAgICAgICBRU3RyaW5nIHRleHQ7 CisgICAgICAgICAgICAgICAgIFFEb21Eb2N1bWVudCBkb21MaW5rOworICAgICAgICAgICAgICAg ICBRRG9tRWxlbWVudCBkb21Sb290OworLSAgICAgICAgICAgICAgICBRRG9tTm9kZSBkb21Ob2Rl OworICAgICAgICAgICAgICAgICBRRG9tTm9kZUxpc3QgY2hpbGROb2RlczsKKyAKKyAgICAgICAg ICAgICAgICAgaWYgKCFjZWxsLmlzRGVmYXVsdCgpICYmICFjZWxsLmlzRW1wdHkoKSkgeworQEAg LTEzNDIsNiArMTM0MCw3IEBAIEtvRmlsdGVyOjpDb252ZXJzaW9uU3RhdHVzIEdOVU1FUklDRXhw b3J0Ojpjb252ZXJ0KGNvbnN0IFFCeXRlQXJyYXkmIGZyb20sIGNvbnN0CisgICAgICAgICAgICAg ICAgICAgICAgICAgdGV4dCA9IGRvbU5vZGUudG9FbGVtZW50KCkudGV4dCgpOworIAorICAgICAg ICAgICAgICAgICAgICAgICAgIHdoaWxlICghZG9tTm9kZS5pc051bGwoKSkgeworKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBRU3RyaW5nIHN0eWxlOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHlsZSA9IGRvbU5vZGUudG9FbGVtZW50KCkudGFnTmFtZSgpOworIAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3R5bGUgPT0gImIiKQorZGlmZiAtLWdpdCBhL2Zp bHRlcnMvc2hlZXRzL2h0bWwvaHRtbGV4cG9ydC5jYyBiL2ZpbHRlcnMvc2hlZXRzL2h0bWwvaHRt bGV4cG9ydC5jYworaW5kZXggMmQxMTZlMDYwOGMuLmJmNDFhNmY3NDNlIDEwMDY0NAorLS0tIGEv ZmlsdGVycy9zaGVldHMvaHRtbC9odG1sZXhwb3J0LmNjCisrKysgYi9maWx0ZXJzL3NoZWV0cy9o dG1sL2h0bWxleHBvcnQuY2MKK0BAIC0yNDIsNyArMjQyLDYgQEAgdm9pZCBIVE1MRXhwb3J0Ojpj b252ZXJ0U2hlZXQoU2hlZXQgKnNoZWV0LCBRU3RyaW5nICZzdHIsIGludCBpTWF4VXNlZFJvdywg aW50IGkKKyAgICAgICAgICAgICBpID0gMDsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIFFTdHJp bmcgc2VwYXJhdG9yczsKKyAgICAgICAgIFFTdHJpbmcgbGluZTsKKyAgICAgICAgIHVuc2lnbmVk IGludCBub25lbXB0eV9jZWxscyA9IDA7CisgCitAQCAtNDM1LDcgKzQzNCw2IEBAIHZvaWQgSFRN TEV4cG9ydDo6ZGV0ZWN0RmlsbGVkQ2VsbHMoU2hlZXQgKnNoZWV0LCBpbnQgJnJvd3MsIGludCAm Y29sdW1ucykKKyAgICAgICAgIGludCBpVXNlZENvbHVtbiA9IDA7CisgICAgICAgICBmb3IgKGlu dCBjdXJyZW50Y29sdW1uID0gMSA7IGN1cnJlbnRjb2x1bW4gPD0gaU1heENvbHVtbiA7IGN1cnJl bnRjb2x1bW4rKykgeworICAgICAgICAgICAgIGNlbGwgPSBDZWxsKHNoZWV0LCBjdXJyZW50Y29s dW1uLCBjdXJyZW50cm93KTsKKy0gICAgICAgICAgICBRU3RyaW5nIHRleHQ7CisgICAgICAgICAg ICAgaWYgKCFjZWxsLmlzRGVmYXVsdCgpICYmICFjZWxsLmlzRW1wdHkoKSkgeworICAgICAgICAg ICAgICAgICBpVXNlZENvbHVtbiA9IGN1cnJlbnRjb2x1bW47CisgICAgICAgICAgICAgfQorZGlm ZiAtLWdpdCBhL2ZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC9sYXRleGV4cG9ydC5jYyBiL2Zp bHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC9sYXRleGV4cG9ydC5jYworaW5kZXggOGQwNjk4YTM0 MjAuLjRmOGNhZjIzNWQ5IDEwMDY0NAorLS0tIGEvZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0 L2xhdGV4ZXhwb3J0LmNjCisrKysgYi9maWx0ZXJzL3NoZWV0cy9sYXRleC9leHBvcnQvbGF0ZXhl eHBvcnQuY2MKK0BAIC0zOCw3ICszOCw2IEBAIExBVEVYRXhwb3J0OjpMQVRFWEV4cG9ydChRT2Jq ZWN0KiBwYXJlbnQsIGNvbnN0IFFWYXJpYW50TGlzdCYpIDoKKyAKKyBLb0ZpbHRlcjo6Q29udmVy c2lvblN0YXR1cyBMQVRFWEV4cG9ydDo6Y29udmVydChjb25zdCBRQnl0ZUFycmF5JiBmcm9tLCBj b25zdCBRQnl0ZUFycmF5JiB0bykKKyB7CistICAgIFFTdHJpbmcgY29uZmlnOworIAorICAgICBp ZiAodG8gIT0gInRleHQveC10ZXgiIHx8IGZyb20gIT0gImFwcGxpY2F0aW9uL3gta3NwcmVhZCIp CisgICAgICAgICByZXR1cm4gS29GaWx0ZXI6Ok5vdEltcGxlbWVudGVkOworZGlmZiAtLWdpdCBh L2ZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC90YWJsZS5jYyBiL2ZpbHRlcnMvc2hlZXRzL2xh dGV4L2V4cG9ydC90YWJsZS5jYworaW5kZXggOGQ4YjY3MDFhMzkuLmU1ODgyN2RmYmM3IDEwMDY0 NAorLS0tIGEvZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0L3RhYmxlLmNjCisrKysgYi9maWx0 ZXJzL3NoZWV0cy9sYXRleC9leHBvcnQvdGFibGUuY2MKK0BAIC0xMTgsNiArMTE4LDcgQEAgdm9p ZCBUYWJsZTo6YW5hbHl6ZVBhcGVyKGNvbnN0IFFEb21Ob2RlIG5vZGUpCisgCisgICAgIC8qIGJv cmRlcnMgKi8KKyAgICAgUURvbU5vZGUgYm9yZGVyID0gZ2V0Q2hpbGQobm9kZSwgImJvcmRlcnMi KTsKKysgICAgUV9VTlVTRUQoYm9yZGVyKTsKKyAgICAgc2V0Qm9yZGVyUmlnaHQoZ2V0QXR0cihu b2RlLCAicmlnaHQiKS50b0xvbmcoKSk7CisgICAgIHNldEJvcmRlckxlZnQoZ2V0QXR0cihub2Rl LCAibGVmdCIpLnRvTG9uZygpKTsKKyAgICAgc2V0Qm9yZGVyQm90dG9tKGdldEF0dHIobm9kZSwg ImJvdHRvbSIpLnRvTG9uZygpKTsKK2RpZmYgLS1naXQgYS9maWx0ZXJzL3NoZWV0cy94bHN4L1hs c3hYbWxXb3Jrc2hlZXRSZWFkZXIuY3BwIGIvZmlsdGVycy9zaGVldHMveGxzeC9YbHN4WG1sV29y a3NoZWV0UmVhZGVyLmNwcAoraW5kZXggNzgyYTU5MTQ3MjkuLmVkYThmZmM2YjQ3IDEwMDY0NAor LS0tIGEvZmlsdGVycy9zaGVldHMveGxzeC9YbHN4WG1sV29ya3NoZWV0UmVhZGVyLmNwcAorKysr IGIvZmlsdGVycy9zaGVldHMveGxzeC9YbHN4WG1sV29ya3NoZWV0UmVhZGVyLmNwcAorQEAgLTg3 Miw3ICs4NzIsNiBAQCBLb0ZpbHRlcjo6Q29udmVyc2lvblN0YXR1cyBYbHN4WG1sV29ya3NoZWV0 UmVhZGVyOjpyZWFkX2NvbmRpdGlvbmFsRm9ybWF0dGluZygpCisgICAgIHdoaWxlIChpbmRleCA8 IG1fY29uZGl0aW9uYWxJbmRpY2VzLnNpemUoKSkgeworICAgICAgICAgUVN0cmluZyBjb25kaXRp b25hbEFyZWE7CisgICAgICAgICBDb25kaXRpb24gZXhhbWluZWRDb25kaXRpb24gPSBtX2NvbmRp dGlvbmFsSW5kaWNlcy5hdChpbmRleCk7CistICAgICAgICBRU3RyaW5nIHNxcmVmT3JpZ2luYWwg PSBzcXJlZjsKKyAgICAgICAgIGludCBhcmVhSW5kZXggPSAwOworICAgICAgICAgQ29uZGl0aW9u IHByZXZpb3VzQ29uZDsKKyAKK2RpZmYgLS1naXQgYS9maWx0ZXJzL3N0YWdlL3BwdHgvUHB0eFht bERvY3VtZW50UmVhZGVyLmNwcCBiL2ZpbHRlcnMvc3RhZ2UvcHB0eC9QcHR4WG1sRG9jdW1lbnRS ZWFkZXIuY3BwCitpbmRleCA0Y2Y4NmFlYThjOC4uMTFiNWFkMjY2YjkgMTAwNjQ0CistLS0gYS9m aWx0ZXJzL3N0YWdlL3BwdHgvUHB0eFhtbERvY3VtZW50UmVhZGVyLmNwcAorKysrIGIvZmlsdGVy cy9zdGFnZS9wcHR4L1BwdHhYbWxEb2N1bWVudFJlYWRlci5jcHAKK0BAIC0zMTYsNyArMzE2LDcg QEAgS29GaWx0ZXI6OkNvbnZlcnNpb25TdGF0dXMgUHB0eFhtbERvY3VtZW50UmVhZGVyOjpyZWFk X3NsZElkKCkKKyAKKyAgICAgUVN0cmluZyBzbGlkZU1hc3RlclBhdGgsIHNsaWRlTWFzdGVyRmls ZTsKKyAgICAgTVNPT1hNTDo6VXRpbHM6OnNwbGl0UGF0aEFuZEZpbGUobV9jb250ZXh0LT5yZWxh dGlvbnNoaXBzLT50YXJnZXRGb3JUeXBlKHNsaWRlUGF0aCwgc2xpZGVGaWxlLCBRTGF0aW4xU3Ry aW5nKE1TT09YTUw6OlNjaGVtYXM6Om9mZmljZURvY3VtZW50OjpyZWxhdGlvbnNoaXBzKSArICIv c2xpZGVMYXlvdXQiKSwgJnNsaWRlTWFzdGVyUGF0aCwgJnNsaWRlTWFzdGVyRmlsZSk7CistICAg IGNvbnN0IFFTdHJpbmcgc2xpZGVNYXN0ZXJQYXRoQW5kRmlsZSA9IG1fY29udGV4dC0+cmVsYXRp b25zaGlwcy0+dGFyZ2V0Rm9yVHlwZShzbGlkZU1hc3RlclBhdGgsIHNsaWRlTWFzdGVyRmlsZSwg UUxhdGluMVN0cmluZyhNU09PWE1MOjpTY2hlbWFzOjpvZmZpY2VEb2N1bWVudDo6cmVsYXRpb25z aGlwcykgKyAiL3NsaWRlTWFzdGVyIik7CisrICAgIC8vIGNvbnN0IFFTdHJpbmcgc2xpZGVNYXN0 ZXJQYXRoQW5kRmlsZSA9IG1fY29udGV4dC0+cmVsYXRpb25zaGlwcy0+dGFyZ2V0Rm9yVHlwZShz bGlkZU1hc3RlclBhdGgsIHNsaWRlTWFzdGVyRmlsZSwgUUxhdGluMVN0cmluZyhNU09PWE1MOjpT Y2hlbWFzOjpvZmZpY2VEb2N1bWVudDo6cmVsYXRpb25zaGlwcykgKyAiL3NsaWRlTWFzdGVyIik7 CisgCisgICAgIC8vIERlbGF5IHRoZSByZWFkaW5nIG9mIGEgdGFibGVTdHlsZSB1bnRpbCB3ZSBm aW5kIGEgdGFibGUgYXMgd2UgbmVlZCB0aGUKKyAgICAgLy8gY2xyTWFwIGZyb20gdGhlIG1hc3Rl ciBzbGlkZQorZGlmZiAtLWdpdCBhL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi90ZXh0aGFuZGxl ci5jcHAgYi9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvdGV4dGhhbmRsZXIuY3BwCitpbmRleCBl MTY3ZDg2ZTAyOC4uODllZjY3ODk2MWEgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3dvcmRzL21zd29y ZC1vZGYvdGV4dGhhbmRsZXIuY3BwCisrKysgYi9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvdGV4 dGhhbmRsZXIuY3BwCitAQCAtNDA4LDYgKzQwOCw3IEBAIHZvaWQgV29yZHNUZXh0SGFuZGxlcjo6 Zm9vdG5vdGVGb3VuZCh3dldhcmU6OkZvb3Rub3RlRGF0YSBkYXRhLAorICAgICAgICAgfQorICAg ICAgICAgY2FzZSBtc29uZmNVQ0xldHRlcjoKKyAgICAgICAgICAgICBsZXR0ZXIgPSAnQSc7Cisr ICAgICAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgICAgICBjYXNlIG1zb25mY0xDTGV0dGVy OgorICAgICAgICAgeworICAgICAgICAgICAgIHdoaWxlIChub3RlTnVtYmVyIC8gMjUgPiAwKSB7 CitAQCAtMTA2NCw2ICsxMDY1LDcgQEAgdm9pZCBXb3Jkc1RleHRIYW5kbGVyOjpmaWVsZFN0YXJ0 KGNvbnN0IHd2V2FyZTo6RkxEKiBmbGQsIHd2V2FyZTo6U2hhcmVkUHRyPGNvbnMKKyAgICAgICAg IGJyZWFrOworICAgICBjYXNlIFVOU1VQUE9SVEVEOgorICAgICAgICAgd2Fybk1zRG9jIDw8ICJX YXJuaW5nOiBGbGQgZGF0YSBtaXNzaW5nLCBpZ25vcmluZyEiOworKyAgICAgICAgLy8gZmFsbCB0 aHJvdWdoCisgICAgIGRlZmF1bHQ6CisgICAgICAgICB3YXJuTXNEb2MgPDwgIldhcm5pbmc6IHVu cmVjb2duaXplZCBmaWVsZCB0eXBlLCBpZ25vcmluZyEiOworICAgICAgICAgbV9mbGQtPm1fdHlw ZSA9IFVOU1VQUE9SVEVEOworZGlmZiAtLWdpdCBhL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93 djIvc3JjL3BhcnNlcjl4LmNwcCBiL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3Bh cnNlcjl4LmNwcAoraW5kZXggOWE2ZDE2MDZjZTkuLmU1ZDdkMTQ2OTFjIDEwMDY0NAorLS0tIGEv ZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvcGFyc2VyOXguY3BwCisrKysgYi9maWx0 ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9wYXJzZXI5eC5jcHAKK0BAIC01ODEsNyArNTgx LDggQEAgdm9pZCBQYXJzZXI5eDo6cHJvY2Vzc1BpZWNlKCBTdHJpbmcqIHN0cmluZywgVTMyIGZj LCBVMzIgbGltaXQsIGNvbnN0IFBvc2l0aW9uJgorICAgICAgICAgLy8gc2FtZSBBU0NJSSBjb2Rl IGFzIFRUUF9NQVJLICgweDAwMDcpLCBOT1RFOiB0YWJsZSBkZXB0aCA9PSAxCisgICAgICAgICBj YXNlIENFTExfTUFSSzoKKyAgICAgICAgICAgICBtX2NlbGxNYXJrRm91bmQgPSB0cnVlOworLSAg ICAgICAgICAgIC8vIEZhbGwtdGhyb3VnaCBpbnRlbmRlZC4gQSByb3cvY2VsbCBlbmQgaXMgYWxz byBhIHBhcmFncmFwaCBlbmQuCisrICAgICAgICAgICAgLy8gQSByb3cvY2VsbCBlbmQgaXMgYWxz byBhIHBhcmFncmFwaCBlbmQuCisrICAgICAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgICAg ICBjYXNlIFBBUkFHUkFQSF9NQVJLOgorICAgICAgICAgeworICAgICAgICAgICAgIC8vIE5vICJp bmRleCAtIHN0YXJ0ICsgMSIgaGVyZSwgYXMgd2UgZG9uJ3Qgd2FudCB0byBjb3B5IHRoZQorQEAg LTEwNjQsNiArMTA2NSw3IEBAIHZvaWQgUGFyc2VyOXg6OmVtaXRTcGVjaWFsQ2hhcmFjdGVyKCBV Q2hhciBjaGFyYWN0ZXIsIFUzMiBnbG9iYWxDUCwgU2hhcmVkUHRyPGNvCisgICAgICAgICAgICAg aWYgKG1fc3ViRG9jdW1lbnQgPT0gTWFpbikgeworICAgICAgICAgICAgICAgICBlbWl0QW5ub3Rh dGlvbiggVVN0cmluZyhjaGFyYWN0ZXIpLCBnbG9iYWxDUCwgY2hwICk7CisgICAgICAgICAgICAg fQorKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgfQorICAgICBjYXNlIFRleHRIYW5kbGVy OjpGaWVsZEVzY2FwZUNoYXI6CisgICAgICAgICB3dmxvZyA8PCAiRm91bmQgYW4gZXNjYXBlIGNo YXJhY3RlciArKysrKysrKysrKysrKysrKysrKz8iIDw8IGVuZGw7CitkaWZmIC0tZ2l0IGEvZmls dGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5bGVzLmNwcCBiL2ZpbHRlcnMvd29yZHMv bXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5jcHAKK2luZGV4IGY0N2MzZGQ4ZDUxLi5kMmM5NmUz ZDkyYiAxMDA2NDQKKy0tLSBhL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxl cy5jcHAKKysrKyBiL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5jcHAK K0BAIC00Miw3ICs0Miw2IEBAIFNURDo6U1REKCkKKyB9CisgCisgU1REOjpTVEQoIFUxNiBiYXNl U2l6ZSwgVTE2IHRvdGFsU2l6ZSwgT0xFU3RyZWFtUmVhZGVyKiBzdHJlYW0sIGJvb2wgcHJlc2Vy dmVQb3MgKQorLXRocm93KEludmFsaWRGb3JtYXRFeGNlcHRpb24pCisgeworICAgICBjbGVhcklu dGVybmFsKCk7CisgICAgIGlmICghcmVhZCggYmFzZVNpemUsIHRvdGFsU2l6ZSwgc3RyZWFtLCBw cmVzZXJ2ZVBvcyApKSB7CitAQCAtMTEyLDcgKzExMSw2IEBAIFNURCYgU1REOjpvcGVyYXRvcj0o IGNvbnN0IFNURCYgcmhzICkKKyB9CisgCisgYm9vbCBTVEQ6OnJlYWQoIGNvbnN0IFUxNiBjYlN0 ZCwgY29uc3QgVTE2IHN0ZGZTaXplLCBPTEVTdHJlYW1SZWFkZXIqIHN0cmVhbSwgYm9vbCBwcmVz ZXJ2ZVBvcyApCistdGhyb3coSW52YWxpZEZvcm1hdEV4Y2VwdGlvbikKKyB7CisgICAgIFUxNiBz aGlmdGVyVTE2OworICAgICBTMzIgc3RhcnRPZmZzZXQ9c3RyZWFtLT50ZWxsKCk7ICAvLyBhZGRy ZXNzIHdoZXJlIHRoZSBTVEQgc3RhcnRzCitAQCAtOTM4LDcgKzkzNiw3IEBAIHZvaWQgU3R5bGU6 Om1lcmdlVXBlY2hweCggY29uc3QgU3R5bGUqIHBhcmVudFN0eWxlLCBXb3JkVmVyc2lvbiB2ZXJz aW9uICkKKyB9CisgCisgCistU3R5bGVTaGVldDo6U3R5bGVTaGVldCggT0xFU3RyZWFtUmVhZGVy KiB0YWJsZVN0cmVhbSwgVTMyIGZjU3RzaGYsIFUzMiBsY2JTdHNoZiApIHRocm93KEludmFsaWRG b3JtYXRFeGNlcHRpb24pCisrU3R5bGVTaGVldDo6U3R5bGVTaGVldCggT0xFU3RyZWFtUmVhZGVy KiB0YWJsZVN0cmVhbSwgVTMyIGZjU3RzaGYsIFUzMiBsY2JTdHNoZiApCisgICAgIDogbV91ZHNO dW0oMCkKKyB7CisgICAgIFdvcmRWZXJzaW9uIHZlcnNpb24gPSBXb3JkODsKK2RpZmYgLS1naXQg YS9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9zdHlsZXMuaCBiL2ZpbHRlcnMvd29y ZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5oCitpbmRleCBiYTAyZGVmNjg0NS4uNDFjODI3 OGRkMjEgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9zdHls ZXMuaAorKysrIGIvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5bGVzLmgKK0BA IC01OCw4ICs1OCw5IEBAIHN0cnVjdCBTVEQKKyAgICAgU1REKCk7CisgICAgIC8qKgorICAgICAg KiBTaW1wbHkgY2FsbHMgcmVhZCguLi4pCisrICAgICAqIEB0aHJvdyBJbnZhbGlkRm9ybWF0RXhj ZXB0aW9uCisgICAgICAqLworLSAgICBTVEQoIFUxNiBzdGRmU2l6ZSwgVTE2IHRvdGFsU2l6ZSwg T0xFU3RyZWFtUmVhZGVyKiBzdHJlYW0sIGJvb2wgcHJlc2VydmVQb3MgPSBmYWxzZSApIHRocm93 KEludmFsaWRGb3JtYXRFeGNlcHRpb24pOworKyAgICBTVEQoIFUxNiBzdGRmU2l6ZSwgVTE2IHRv dGFsU2l6ZSwgT0xFU3RyZWFtUmVhZGVyKiBzdHJlYW0sIGJvb2wgcHJlc2VydmVQb3MgPSBmYWxz ZSApOworICAgICAvKioKKyAgICAgICogQXR0ZW50aW9uOiBUaGlzIHN0cnVjdCBhbGxvY2F0ZXMg bWVtb3J5IG9uIHRoZSBoZWFwCisgICAgICAqLworQEAgLTc0LDggKzc1LDkgQEAgc3RydWN0IFNU RAorICAgICAgKiBmYWxzZSB0aGUgc3RhdGUgb2Ygc3RyZWFtIHdpbGwgYmUgY2hhbmdlZCEKKyAg ICAgICoKKyAgICAgICogQHJldHVybiB0cnVlIC0gc3VjY2VzcywgZmFsc2UgLSBmYWlsZWQKKysg ICAgICogQHRocm93IEludmFsaWRGb3JtYXRFeGNlcHRpb24KKyAgICAgICovCistICAgIGJvb2wg cmVhZCggY29uc3QgVTE2IGNiU3RkLCBjb25zdCBVMTYgc3RkZlNpemUsIE9MRVN0cmVhbVJlYWRl ciogc3RyZWFtLCBib29sIHByZXNlcnZlUG9zID0gZmFsc2UgKSB0aHJvdyhJbnZhbGlkRm9ybWF0 RXhjZXB0aW9uKTsKKysgICAgYm9vbCByZWFkKCBjb25zdCBVMTYgY2JTdGQsIGNvbnN0IFUxNiBz dGRmU2l6ZSwgT0xFU3RyZWFtUmVhZGVyKiBzdHJlYW0sIGJvb2wgcHJlc2VydmVQb3MgPSBmYWxz ZSApOworIAorICAgICAvKioKKyAgICAgICogU2FtZSBhcyByZWFkaW5nIDopCitAQCAtMzY1LDcg KzM2NywxMCBAQCBjbGFzcyBXVjJfRVhQT1JUIFN0eWxlCisgY2xhc3MgV1YyX0VYUE9SVCBTdHls ZVNoZWV0CisgeworIHB1YmxpYzoKKy0gICAgU3R5bGVTaGVldCggT0xFU3RyZWFtUmVhZGVyKiB0 YWJsZVN0cmVhbSwgVTMyIGZjU3RzaGYsIFUzMiBsY2JTdHNoZiApIHRocm93KEludmFsaWRGb3Jt YXRFeGNlcHRpb24pOworKyAgICAvKioKKysgICAgICogQHRocm93IEludmFsaWRGb3JtYXRFeGNl cHRpb24KKysgICAgICovCisrICAgIFN0eWxlU2hlZXQoIE9MRVN0cmVhbVJlYWRlciogdGFibGVT dHJlYW0sIFUzMiBmY1N0c2hmLCBVMzIgbGNiU3RzaGYgKTsKKyAgICAgflN0eWxlU2hlZXQoKTsK KyAKKyAgICAgLyoqCitkaWZmIC0tZ2l0IGEvZ2VtaW5pL2xpYi9HZW1pbmlNYWluV2luZG93LmNw cCBiL2dlbWluaS9saWIvR2VtaW5pTWFpbldpbmRvdy5jcHAKK2luZGV4IDNkMDVmNjQ2MWUwLi5l YjVmMTIwYzBmNyAxMDA2NDQKKy0tLSBhL2dlbWluaS9saWIvR2VtaW5pTWFpbldpbmRvdy5jcHAK KysrKyBiL2dlbWluaS9saWIvR2VtaW5pTWFpbldpbmRvdy5jcHAKK0BAIC0xMzYsOCArMTM2LDEw IEBAIHZvaWQgR2VtaW5pTWFpbldpbmRvdzo6c2V0RnVsbFNjcmVlbihib29sIG5ld1N0YXRlKQor IH0KKyAKKyAKKysKKyB2b2lkIEdlbWluaU1haW5XaW5kb3c6OmNoYW5nZVN0YXRlKEdlbWluaU1h aW5XaW5kb3c6OkdlbWluaVN0YXRlIG5ld1N0YXRlLCBib29sIGxvY2tOZXdTdGF0ZSkKKyB7Cisr ICAgIFFfVU5VU0VEKGxvY2tOZXdTdGF0ZSk7CisgICAgIGQtPnN5bmNPYmplY3QgPSBuZXcgR2Vt aW5pTW9kZVN5bmNocm9uaXNhdGlvbk9iamVjdDsKKyAKKyAgICAgaWYoY2VudHJhbFdpZGdldCgp KSB7CitkaWZmIC0tZ2l0IGEvbGlicy9wYWdlYXBwL0tvUEFPZGZQYWdlU2F2ZUhlbHBlci5jcHAg Yi9saWJzL3BhZ2VhcHAvS29QQU9kZlBhZ2VTYXZlSGVscGVyLmNwcAoraW5kZXggOTJjNmRmZDRj YjQuLjA2ODUwMWM4YWYxIDEwMDY0NAorLS0tIGEvbGlicy9wYWdlYXBwL0tvUEFPZGZQYWdlU2F2 ZUhlbHBlci5jcHAKKysrKyBiL2xpYnMvcGFnZWFwcC9Lb1BBT2RmUGFnZVNhdmVIZWxwZXIuY3Bw CitAQCAtNDksNyArNDksNyBAQCBLb1BBT2RmUGFnZVNhdmVIZWxwZXI6OktvUEFPZGZQYWdlU2F2 ZUhlbHBlciggS29QQURvY3VtZW50ICogZG9jLCBRTGlzdDxLb1BBUGFnZQorICAgICAgICAgICAg IEtvUEFQYWdlICogcCA9IHN0YXRpY19jYXN0PEtvUEFQYWdlICo+KCBwYWdlICk7CisgICAgICAg ICAgICAgbWFzdGVyUGFnZXMuaW5zZXJ0KCBwLT5tYXN0ZXJQYWdlKCkgKTsKKyAgICAgICAgIH0K Ky0gICAgICAgIG1fbWFzdGVyUGFnZXMgPSBtYXN0ZXJQYWdlcy50b0xpc3QoKTsKKysgICAgICAg IG1fbWFzdGVyUGFnZXMgPSBtYXN0ZXJQYWdlcy52YWx1ZXMoKTsKKyAgICAgfQorIH0KKyAKK2Rp ZmYgLS1naXQgYS9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9yRGV2aWNlLmgg Yi9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9yRGV2aWNlLmgKK2luZGV4IGI5 MDU2YWM5OGMxLi5lY2Q2OTZlNDE1ZiAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvc3BhY2VuYXZpZ2F0 b3IvU3BhY2VOYXZpZ2F0b3JEZXZpY2UuaAorKysrIGIvcGx1Z2lucy9zcGFjZW5hdmlnYXRvci9T cGFjZU5hdmlnYXRvckRldmljZS5oCitAQCAtMzEsMTAgKzMxLDggQEAgY2xhc3MgU3BhY2VOYXZp Z2F0b3JEZXZpY2UgOiBwdWJsaWMgS29JbnB1dERldmljZUhhbmRsZXIKKyAgICAgZXhwbGljaXQg U3BhY2VOYXZpZ2F0b3JEZXZpY2UoUU9iamVjdCAqcGFyZW50KTsKKyAgICAgdmlydHVhbCB+U3Bh Y2VOYXZpZ2F0b3JEZXZpY2UoKTsKKyAKKy0gICAgLy8vIHJlaW1wbGVtZW50ZWQgZnJvbSBLb0lu cHV0RGV2aWNlSGFuZGxlcgorLSAgICB2aXJ0dWFsIGJvb2wgc3RhcnQoKTsKKy0gICAgLy8vIHJl aW1wbGVtZW50ZWQgZnJvbSBLb0lucHV0RGV2aWNlSGFuZGxlcgorLSAgICB2aXJ0dWFsIGJvb2wg c3RvcCgpOworKyAgICB2aXJ0dWFsIGJvb2wgc3RhcnQoKSBvdmVycmlkZTsKKysgICAgdmlydHVh bCBib29sIHN0b3AoKSBvdmVycmlkZTsKKyBwcml2YXRlIFFfU0xPVFM6CisgICAgIHZvaWQgc2xv dE1vdmVFdmVudCggaW50IHgsIGludCB5LCBpbnQgeiwgaW50IHJ4LCBpbnQgcnksIGludCByeiwg UXQ6Ok1vdXNlQnV0dG9ucyApOworICAgICB2b2lkIHNsb3RCdXR0b25FdmVudCggaW50IHgsIGlu dCB5LCBpbnQgeiwgaW50IHJ4LCBpbnQgcnksIGludCByeiwgUXQ6Ok1vdXNlQnV0dG9ucywgUXQ6 Ok1vdXNlQnV0dG9uLCBpbnQgdHlwZSApOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvc3BhY2VuYXZp Z2F0b3IvU3BhY2VOYXZpZ2F0b3JFdmVudC5oIGIvcGx1Z2lucy9zcGFjZW5hdmlnYXRvci9TcGFj ZU5hdmlnYXRvckV2ZW50LmgKK2luZGV4IDczNzUxZWM4OGZmLi43NmVlOGUyZjg4MCAxMDA2NDQK Ky0tLSBhL3BsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JFdmVudC5oCisrKysg Yi9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9yRXZlbnQuaAorQEAgLTMzLDcg KzMzLDcgQEAgY2xhc3MgU3BhY2VOYXZpZ2F0b3JFdmVudCA6IHB1YmxpYyBLb0lucHV0RGV2aWNl SGFuZGxlckV2ZW50CisgICAgIHZvaWQgc2V0UG9zaXRpb24oIGludCB4LCBpbnQgeSwgaW50IHog KTsKKyAgICAgdm9pZCBzZXRSb3RhdGlvbiggaW50IHJ4LCBpbnQgcnksIGludCByeiApOworIAor LSAgICB2aXJ0dWFsIEtvUG9pbnRlckV2ZW50ICogcG9pbnRlckV2ZW50KCk7CisrICAgIHZpcnR1 YWwgS29Qb2ludGVyRXZlbnQgKiBwb2ludGVyRXZlbnQoKSBvdmVycmlkZTsKKyAKKyBwcml2YXRl OgorICAgICBpbnQgbV94LCBtX3ksIG1fejsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL3NwYWNlbmF2 aWdhdG9yL1NwYWNlTmF2aWdhdG9yUG9sbGluZ1RocmVhZC5oIGIvcGx1Z2lucy9zcGFjZW5hdmln YXRvci9TcGFjZU5hdmlnYXRvclBvbGxpbmdUaHJlYWQuaAoraW5kZXggNjJjNGRlOGFiNzMuLjY3 ZDU5MTc3MDIxIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9zcGFjZW5hdmlnYXRvci9TcGFjZU5hdmln YXRvclBvbGxpbmdUaHJlYWQuaAorKysrIGIvcGx1Z2lucy9zcGFjZW5hdmlnYXRvci9TcGFjZU5h dmlnYXRvclBvbGxpbmdUaHJlYWQuaAorQEAgLTM5LDggKzM5LDcgQEAgY2xhc3MgU3BhY2VOYXZp Z2F0b3JQb2xsaW5nVGhyZWFkIDogcHVibGljIFFUaHJlYWQKKyAKKyBwcm90ZWN0ZWQ6CisgCist ICAgIC8vLyByZWltcGxlbWVudGVkIGZyb20gUVRocmVhZAorLSAgICB2aXJ0dWFsIHZvaWQgcnVu KCk7CisrICAgIHZpcnR1YWwgdm9pZCBydW4oKSBvdmVycmlkZTsKKyAKKyBwcml2YXRlOgorICAg ICBib29sIG1fc3RvcHBlZDsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL3ZlY3RvcnNoYXBlL1ZlY3Rv clNoYXBlLmNwcCBiL3BsdWdpbnMvdmVjdG9yc2hhcGUvVmVjdG9yU2hhcGUuY3BwCitpbmRleCBh MjVhYjNmYzU2MS4uOWFjYmQyNTFjOTQgMTAwNjQ0CistLS0gYS9wbHVnaW5zL3ZlY3RvcnNoYXBl L1ZlY3RvclNoYXBlLmNwcAorKysrIGIvcGx1Z2lucy92ZWN0b3JzaGFwZS9WZWN0b3JTaGFwZS5j cHAKK0BAIC0yOTQsNiArMjk0LDcgQEAgdm9pZCBWZWN0b3JTaGFwZTo6c2F2ZU9kZihLb1NoYXBl U2F2aW5nQ29udGV4dCAmIGNvbnRleHQpIGNvbnN0CisgICAgICAgICBicmVhazsKKyAgICAgY2Fz ZSBWZWN0b3JUeXBlU3ZnOgorICAgICAgICAgbWltZVR5cGUgPSAiaW1hZ2Uvc3ZnK3htbCI7Cisr ICAgICAgICBicmVhazsKKyAgICAgZGVmYXVsdDoKKyAgICAgICAgIC8vIEZJWE1FOiBXaGF0IGhl cmU/CisgICAgICAgICBtaW1lVHlwZSA9ICJhcHBsaWNhdGlvbi94LXdoYXQiOworZGlmZiAtLWdp dCBhL3NoZWV0cy9mdW5jdGlvbnMvZGF0ZXRpbWUuY3BwIGIvc2hlZXRzL2Z1bmN0aW9ucy9kYXRl dGltZS5jcHAKK2luZGV4IDlmNTlmZTJjZjc1Li42MTU3YjA5OTZjMSAxMDA2NDQKKy0tLSBhL3No ZWV0cy9mdW5jdGlvbnMvZGF0ZXRpbWUuY3BwCisrKysgYi9zaGVldHMvZnVuY3Rpb25zL2RhdGV0 aW1lLmNwcAorQEAgLTU5Nyw2ICs1OTcsNyBAQCBWYWx1ZSBmdW5jX2N1cnJlbnREYXRlKHZhbFZl Y3RvciwgVmFsdWVDYWxjICogY2FsYywgRnVuY0V4dHJhICopCisgLy8gRnVuY3Rpb246IENVUlJF TlRUSU1FCisgVmFsdWUgZnVuY19jdXJyZW50VGltZSh2YWxWZWN0b3IsIFZhbHVlQ2FsYyAqIGNh bGMsIEZ1bmNFeHRyYSAqKQorIHsKKysgICAgUV9VTlVTRUQoY2FsYyk7CisgICAgIHJldHVybiBW YWx1ZShRVGltZTo6Y3VycmVudFRpbWUoKSk7CisgfQorIAorZGlmZiAtLWdpdCBhL3NoZWV0cy9w YXJ0L0RpZ2VzdC5jcHAgYi9zaGVldHMvcGFydC9EaWdlc3QuY3BwCitpbmRleCA4Y2Q5NzJkYjk4 OS4uZTkyNDZjZTZlN2QgMTAwNjQ0CistLS0gYS9zaGVldHMvcGFydC9EaWdlc3QuY3BwCisrKysg Yi9zaGVldHMvcGFydC9EaWdlc3QuY3BwCitAQCAtNTk2LDEwICs1OTYsMTAgQEAgc3RhdGljIHZv aWQgX19ydGxfZGlnZXN0X2VuZFNIQShEaWdlc3RDb250ZXh0U0hBICpjdHgpCisgICAgIH0KKyAK KyAgICAgc3dpdGNoIChjdHgtPm1fbkRhdExlbiAmIDB4MDMpIHsKKy0gICAgY2FzZSAwOiBYW2ld ICA9ICgoc2FsX3VJbnQzMikoKihwKyspKSkgPDwgIDBMOworLSAgICBjYXNlIDE6IFhbaV0gfD0g KChzYWxfdUludDMyKSgqKHArKykpKSA8PCAgOEw7CistICAgIGNhc2UgMjogWFtpXSB8PSAoKHNh bF91SW50MzIpKCoocCsrKSkpIDw8IDE2TDsKKy0gICAgY2FzZSAzOiBYW2ldIHw9ICgoc2FsX3VJ bnQzMikoKihwKyspKSkgPDwgMjRMOworKyAgICBjYXNlIDA6IFhbaV0gID0gKChzYWxfdUludDMy KSgqKHArKykpKSA8PCAgMEw7IC8qIGZhbGwgdGhyb3VnaCAqLworKyAgICBjYXNlIDE6IFhbaV0g fD0gKChzYWxfdUludDMyKSgqKHArKykpKSA8PCAgOEw7IC8qIGZhbGwgdGhyb3VnaCAqLworKyAg ICBjYXNlIDI6IFhbaV0gfD0gKChzYWxfdUludDMyKSgqKHArKykpKSA8PCAxNkw7IC8qIGZhbGwg dGhyb3VnaCAqLworKyAgICBjYXNlIDM6IFhbaV0gfD0gKChzYWxfdUludDMyKSgqKHArKykpKSA8 PCAyNEw7IC8qIGZhbGwgdGhyb3VnaCAqLworICAgICB9CisgCisgICAgIF9fcnRsX2RpZ2VzdF9z d2FwTG9uZyhYLCBpICsgMSk7CitkaWZmIC0tZ2l0IGEvc2hlZXRzL3NoYXBlL1RhYmxlVG9vbEZh Y3RvcnkuaCBiL3NoZWV0cy9zaGFwZS9UYWJsZVRvb2xGYWN0b3J5LmgKK2luZGV4IDY3OWJmZTE0 YjhlLi45NDEyZDhmZmRjNSAxMDA2NDQKKy0tLSBhL3NoZWV0cy9zaGFwZS9UYWJsZVRvb2xGYWN0 b3J5LmgKKysrKyBiL3NoZWV0cy9zaGFwZS9UYWJsZVRvb2xGYWN0b3J5LmgKK0BAIC0zNCw3ICsz NCw3IEBAIGNsYXNzIFRhYmxlVG9vbEZhY3RvcnkgOiBwdWJsaWMgS29Ub29sRmFjdG9yeUJhc2UK KyAgICAgVGFibGVUb29sRmFjdG9yeSgpOworICAgICB+VGFibGVUb29sRmFjdG9yeSgpOworIAor LSAgICBLb1Rvb2xCYXNlKiBjcmVhdGVUb29sKEtvQ2FudmFzQmFzZSogY2FudmFzKTsKKysgICAg S29Ub29sQmFzZSogY3JlYXRlVG9vbChLb0NhbnZhc0Jhc2UqIGNhbnZhcykgb3ZlcnJpZGU7Cisg fTsKKyAKKyB9IC8vIG5hbWVzcGFjZSBTaGVldHMKK2RpZmYgLS1naXQgYS9zaGVldHMvdGVzdHMv VGVzdFNvcnQuY3BwIGIvc2hlZXRzL3Rlc3RzL1Rlc3RTb3J0LmNwcAoraW5kZXggYjNmMWUzNTE2 OWQuLjYzNTRkNzlhYmM1IDEwMDY0NAorLS0tIGEvc2hlZXRzL3Rlc3RzL1Rlc3RTb3J0LmNwcAor KysrIGIvc2hlZXRzL3Rlc3RzL1Rlc3RTb3J0LmNwcAorQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBU ZXN0U29ydDo6QXNjZW5kaW5nT3JkZXIoKQorICAgICBjb21tYW5kLT5zZXRTaGVldChzaGVldCk7 CisgCisgICAgIC8vIFBhcmFtZXRlcnMuCistICAgIGNvbW1hbmQtPnNldFNvcnRSb3dzKFF0OjpW ZXJ0aWNhbCk7CisrICAgIGNvbW1hbmQtPnNldFNvcnRSb3dzKHRydWUpOworICAgICBjb21tYW5k LT5zZXRTa2lwRmlyc3QoZmFsc2UpOworICAgICBjb21tYW5kLT5zZXRDb3B5Rm9ybWF0KGZhbHNl KTsKKyAKK0BAIC0xMjEsNyArMTIxLDcgQEAgdm9pZCBUZXN0U29ydDo6RGVzY2VuZGluZ09yZGVy KCkKKyAgICAgY29tbWFuZC0+c2V0U2hlZXQoc2hlZXQpOworIAorICAgICAvLyBQYXJhbWV0ZXJz LgorLSAgICBjb21tYW5kLT5zZXRTb3J0Um93cyhRdDo6VmVydGljYWwpOworKyAgICBjb21tYW5k LT5zZXRTb3J0Um93cyh0cnVlKTsKKyAgICAgY29tbWFuZC0+c2V0U2tpcEZpcnN0KGZhbHNlKTsK KyAgICAgY29tbWFuZC0+c2V0Q29weUZvcm1hdChmYWxzZSk7CisgCmRpZmYgLS1naXQgYS9zcmNw a2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAwMi1NYWtlLXNob3ctaGlkZGVuLXJvdy1zLXdvcmsucGF0 Y2ggYi9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAwMi1NYWtlLXNob3ctaGlkZGVuLXJvdy1z LXdvcmsucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNGIw ODJiOWEwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAw Mi1NYWtlLXNob3ctaGlkZGVuLXJvdy1zLXdvcmsucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJv bSAyMmUwMjk5OGRlYzhhZjE1YTI1YjdlOGUzZDUzYzE3NDgxMGNjM2JlIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogRGFnIEFuZGVyc2VuIDxkYW5kZXJzQGdldDJuZXQuZGs+CitEYXRl OiBUaHUsIDExIEp1biAyMDIwIDEwOjQzOjM4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2Ug c2hvdyBoaWRkZW4gcm93KHMpIHdvcmsKKworQ2hlY2sgZm9yIGhpZGRlbiByb3dzIHdhcyBpbnZl cnRlZCB0byBjaGVjayBmb3Igc2hvd24gcm93cywKK2hlbmNlIGhpZGRlbiByb3dzIHdvdWxkIG5l dmVyIGJlIHVuaGlkZGVuLgorCitCVUc6MzM4ODE2CitCVUc6MzU0MjM2CitGSVhFRC1JTjozLjIu MgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjg5MjBjNTBlNjMwMGQ2NDM0NzdmMjU2YWJh OTFjOGM1MTgzNjY4MikKKy0tLQorIHNoZWV0cy9jb21tYW5kcy9Sb3dDb2x1bW5NYW5pcHVsYXRv cnMuY3BwIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvc2hlZXRzL2NvbW1hbmRzL1Jvd0NvbHVtbk1hbmlwdWxhdG9y cy5jcHAgYi9zaGVldHMvY29tbWFuZHMvUm93Q29sdW1uTWFuaXB1bGF0b3JzLmNwcAoraW5kZXgg OTUyODJkNmUzMWIuLjI1ZThjNDU0ZTI3IDEwMDY0NAorLS0tIGEvc2hlZXRzL2NvbW1hbmRzL1Jv d0NvbHVtbk1hbmlwdWxhdG9ycy5jcHAKKysrKyBiL3NoZWV0cy9jb21tYW5kcy9Sb3dDb2x1bW5N YW5pcHVsYXRvcnMuY3BwCitAQCAtMTkyLDcgKzE5Miw3IEBAIGJvb2wgSGlkZVNob3dNYW5pcHVs YXRvcjo6cHJlUHJvY2Vzc2luZygpCisgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgZm9yIChpbnQgcm93ID0gcmFuZ2UudG9wKCk7IHJv dyA8PSByYW5nZS5ib3R0b20oKTsgKytyb3cpIHsKKy0gICAgICAgICAgICAgICAgICAgIGlmICgh bV9zaGVldC0+cm93Rm9ybWF0cygpLT5pc0hpZGRlbihyb3cpKSB7CisrICAgICAgICAgICAgICAg ICAgICBpZiAobV9zaGVldC0+cm93Rm9ybWF0cygpLT5pc0hpZGRlbihyb3cpKSB7CisgICAgICAg ICAgICAgICAgICAgICAgICAgcmVnaW9uLmFkZChRUmVjdCgxLCByb3csIEtTX2NvbE1heCwgMSkp OworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQg YS9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvYysrMTcucGF0Y2ggYi9zcmNwa2dzL2NhbGxpZ3Jh L3BhdGNoZXMvYysrMTcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi4xZGI4Mzg1MTYxYTMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NhbGxpZ3JhL3Bh dGNoZXMvYysrMTcucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorZGlmZiAtTmF1ciBDTWFrZUxpc3Rz LnR4dC5vcmlnIENNYWtlTGlzdHMudHh0CistLS0gYS9DTWFrZUxpc3RzLnR4dC5vcmlnCisrKysg Yi9DTWFrZUxpc3RzLnR4dAorQEAgLTEwNiw5ICsxMDYsOSBAQAorIAorICMgdXNlIENQUC0xMQor IGlmIChDTUFLRV9WRVJTSU9OIFZFUlNJT05fTEVTUyAiMy4xIikKKy0gICAgc2V0IChDTUFLRV9D WFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtc3RkPWMrKzExIikKKysgICAgc2V0IChDTUFL RV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtc3RkPWMrKzE3IikKKyBlbHNlICgpCist ICAgIHNldCAoQ01BS0VfQ1hYX1NUQU5EQVJEIDExKQorKyAgICBzZXQgKENNQUtFX0NYWF9TVEFO REFSRCAxNykKKyBlbmRpZiAoKQorIAorICMjIyMjIyMjIyMjIworCmRpZmYgLS1naXQgYS9zcmNw a2dzL2NhbGxpZ3JhL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5wYXRjaCBiL3NyY3BrZ3Mv Y2FsbGlncmEvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWViMTQ4ZDA2YjY0Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgucGF0Y2gKQEAg LTAsMCArMSwyMiBAQAorLS0tIGEvZmlsdGVycy9rYXJib24vcGRmL1BkZjJPZGdJbXBvcnQuY3Bw Lm9yaWcKKysrKyBiL2ZpbHRlcnMva2FyYm9uL3BkZi9QZGYyT2RnSW1wb3J0LmNwcAorQEAgLTg3 LDcgKzg3LDcgQEAKKyAgICAgICAgIHJldHVybiBLb0ZpbHRlcjo6Tm90SW1wbGVtZW50ZWQ7Cisg CisgICAgIEdvb1N0cmluZyAqIGZuYW1lID0gbmV3IEdvb1N0cmluZyhRRmlsZTo6ZW5jb2RlTmFt ZShtX2NoYWluLT5pbnB1dEZpbGUoKSkuZGF0YSgpKTsKKy0gICAgUERGRG9jICogcGRmRG9jID0g bmV3IFBERkRvYyhmbmFtZSwgMCwgMCwgMCk7CisrICAgIFBERkRvYyAqIHBkZkRvYyA9IG5ldyBQ REZEb2Moc3RkOjptYWtlX3VuaXF1ZTxHb29TdHJpbmc+KGZuYW1lKSk7CisgICAgIGlmICghIHBk ZkRvYykgeworICNpZmRlZiBIQVZFX1BPUFBMRVJfUFJFXzBfODMKKyAgICAgICAgIGRlbGV0ZSBn bG9iYWxQYXJhbXM7CistLS0gYS9maWx0ZXJzL2thcmJvbi9wZGYvUGRmSW1wb3J0LmNwcC5vcmln CisrKysgYi9maWx0ZXJzL2thcmJvbi9wZGYvUGRmSW1wb3J0LmNwcAorQEAgLTc0LDcgKzc0LDcg QEAKKyAgICAgICAgIHJldHVybiBLb0ZpbHRlcjo6Tm90SW1wbGVtZW50ZWQ7CisgCisgICAgIEdv b1N0cmluZyAqIGZuYW1lID0gbmV3IEdvb1N0cmluZyhRRmlsZTo6ZW5jb2RlTmFtZShtX2NoYWlu LT5pbnB1dEZpbGUoKSkuZGF0YSgpKTsKKy0gICAgUERGRG9jICogcGRmRG9jID0gbmV3IFBERkRv YyhmbmFtZSwgMCwgMCwgMCk7CisrICAgIFBERkRvYyAqIHBkZkRvYyA9IG5ldyBQREZEb2Moc3Rk OjptYWtlX3VuaXF1ZTxHb29TdHJpbmc+KGZuYW1lKSk7CisgICAgIGlmICghIHBkZkRvYykgewor ICNpZmRlZiBIQVZFX1BPUFBMRVJfUFJFXzBfODMKKyAgICAgICAgIGRlbGV0ZSBnbG9iYWxQYXJh bXM7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbGxpZ3JhL3RlbXBsYXRlIGIvc3JjcGtncy9jYWxs aWdyYS90ZW1wbGF0ZQppbmRleCA4OWQwYjE2NDhlOWUuLjdjMTQxMWJmM2RhNiAxMDA2NDQKLS0t IGEvc3JjcGtncy9jYWxsaWdyYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2NhbGxpZ3JhL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY2FsbGlncmEnCiBwa2du YW1lPWNhbGxpZ3JhCiB2ZXJzaW9uPTMuMi4xCi1yZXZpc2lvbj02CityZXZpc2lvbj03CiBidWls ZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1Xbm8tZGV2IC1EQ0FMTElHUkFfU0hPVUxE X0JVSUxEX1VOTUFJTlRBSU5FRD1PTgogIC1EQlVJTERfVEVTVElORz1PRkYiCgpGcm9tIGZlODE4 MTE5MjE5NjE3NThiYjcxMjRlZTUwZDA2YjYyNGM3OWRiZDQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IG9yZW82MzkgPDMxOTE2Mzc5K09yZW82MzlAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgpEYXRlOiBGcmksIDI1IE1hciAyMDIyIDE4OjM0OjA3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCA1LzhdIGlua3NjYXBlOiByZWJ1aWxkIGFnYWluc3QgbGlicG9wcGxlciAyMi4wNC4wCgotLS0K IC4uLmliaWxpdHktd2l0aC1Qb3BwbGVyLTIyLjAzLWFuZC1sYXRlci5wYXRjaCB8IDUwICsrKysr KysrKysrKysrKysrKysKIC4uLi9GaXgtYnVpbGQtd2l0aC1wb3BwbGVyLTIxLjExLjAucGF0Y2gg ICAgICB8IDI5ICsrKysrKysrKysrCiBzcmNwa2dzL2lua3NjYXBlL3RlbXBsYXRlICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9pbmtzY2FwZS9wYXRjaGVz L0Vuc3VyZS1jb21wYXRpYmlsaXR5LXdpdGgtUG9wcGxlci0yMi4wMy1hbmQtbGF0ZXIucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2lua3NjYXBlL3BhdGNoZXMvRml4LWJ1aWxkLXdp dGgtcG9wcGxlci0yMS4xMS4wLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9pbmtzY2FwZS9w YXRjaGVzL0Vuc3VyZS1jb21wYXRpYmlsaXR5LXdpdGgtUG9wcGxlci0yMi4wMy1hbmQtbGF0ZXIu cGF0Y2ggYi9zcmNwa2dzL2lua3NjYXBlL3BhdGNoZXMvRW5zdXJlLWNvbXBhdGliaWxpdHktd2l0 aC1Qb3BwbGVyLTIyLjAzLWFuZC1sYXRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjI5N2VmNjc3NjY1ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv aW5rc2NhcGUvcGF0Y2hlcy9FbnN1cmUtY29tcGF0aWJpbGl0eS13aXRoLVBvcHBsZXItMjIuMDMt YW5kLWxhdGVyLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gYTE4YzU3ZmZmZjMxM2ZkMDhi YzhhNDRmNmI2YmYwYjAxZDdlOWI3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEV2 YW5nZWxvcyBGb3V0cmFzIDxldmFuZ2Vsb3NAZm91dHJlbGlzLmNvbT4KK0RhdGU6IFN1biwgMjAg TWFyIDIwMjIgMjI6NDE6NTEgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gRW5zdXJlIGNvbXBhdGli aWxpdHkgd2l0aCBQb3BwbGVyIDIyLjAzIGFuZCBsYXRlcgorCitUaGlzIGNoYW5nZSBlbnN1cmVz IHRoYXQgSW5rc2NhcGUgd2lsbCBidWlsZCBhZ2FpbnN0IFBvcHBsZXIgMjIuMDMgYWZ0ZXIKK3Ro ZSBjaGFuZ2VzIHRoYXQgd2VyZSBtYWRlIHRvIHRoZSBjb25zdHJ1Y3RvciBvZiBgUERGRG9jYC4K KworU2VlOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvcG9wcGxlci9wb3BwbGVyLy0v Y29tbWl0LzRmMmFiZDNlZgorCitDby1hdXRob3JlZC1ieTogUmFmYWVsIFNpZWpha293c2tpIDxy c0Bycy1tYXRoLm5ldD4KKy0tLQorIHNyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcGRm LWlucHV0LmNwcCAgICAgICAgICAgIHwgMyArLS0KKyBzcmMvZXh0ZW5zaW9uL2ludGVybmFsL3Bk ZmlucHV0L3BvcHBsZXItdHJhbnNpdGlvbi1hcGkuaCB8IDYgKysrKysrCisgMiBmaWxlcyBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMv ZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1pbnB1dC5jcHAgYi9zcmMvZXh0ZW5zaW9u L2ludGVybmFsL3BkZmlucHV0L3BkZi1pbnB1dC5jcHAKK2luZGV4IDNkYWJjOTRiYTIuLjA3OWIw ZGM3MTMgMTAwNjQ0CistLS0gYS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1p bnB1dC5jcHAKKysrKyBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcGRmLWlucHV0 LmNwcAorQEAgLTY4OCw4ICs2ODgsNyBAQCBQZGZJbnB1dDo6b3Blbig6Oklua3NjYXBlOjpFeHRl bnNpb246OklucHV0ICogLyptb2QqLywgY29uc3QgZ2NoYXIgKiB1cmkpIHsKKyAKKyAgICAgLy8g cG9wcGxlciBkb2VzIG5vdCB1c2UgZ2xpYiBnX29wZW4uIFNvIG9uIHdpbjMyIHdlIG11c3QgdXNl IHVuaWNvZGUgY2FsbC4gY29kZSB3YXMgY29waWVkIGZyb20KKyAgICAgLy8gZ2xpYiBnc3RkaW8u YworLSAgICBHb29TdHJpbmcgKmZpbGVuYW1lX2dvbyA9IG5ldyBHb29TdHJpbmcodXJpKTsKKy0g ICAgcGRmX2RvYyA9IHN0ZDo6bWFrZV9zaGFyZWQ8UERGRG9jPihmaWxlbmFtZV9nb28sIG51bGxw dHIsIG51bGxwdHIsIG51bGxwdHIpOyAgIC8vIFRPRE86IENvdWxkIGFzayBmb3IgcGFzc3dvcmQK KysgICAgcGRmX2RvYyA9IF9QT1BQTEVSX01BS0VfU0hBUkVEX1BERkRPQyh1cmkpOyAvLyBUT0RP OiBDb3VsZCBhc2sgZm9yIHBhc3N3b3JkCisgCisgICAgIGlmICghcGRmX2RvYy0+aXNPaygpKSB7 CisgICAgICAgICBpbnQgZXJyb3IgPSBwZGZfZG9jLT5nZXRFcnJvckNvZGUoKTsKK2RpZmYgLS1n aXQgYS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BvcHBsZXItdHJhbnNpdGlvbi1h cGkuaCBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcG9wcGxlci10cmFuc2l0aW9u LWFwaS5oCitpbmRleCA4N2ExOWQ0YzQyLi41MGI2MTdjMjVjIDEwMDY0NAorLS0tIGEvc3JjL2V4 dGVuc2lvbi9pbnRlcm5hbC9wZGZpbnB1dC9wb3BwbGVyLXRyYW5zaXRpb24tYXBpLmgKKysrKyBi L3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcG9wcGxlci10cmFuc2l0aW9uLWFwaS5o CitAQCAtMTQsNiArMTQsMTIgQEAKKyAKKyAjaW5jbHVkZSA8Z2xpYi9wb3BwbGVyLWZlYXR1cmVz Lmg+CisgCisrI2lmIFBPUFBMRVJfQ0hFQ0tfVkVSU0lPTigyMiwgMywgMCkKKysjZGVmaW5lIF9Q T1BQTEVSX01BS0VfU0hBUkVEX1BERkRPQyh1cmkpIHN0ZDo6bWFrZV9zaGFyZWQ8UERGRG9jPihz dGQ6Om1ha2VfdW5pcXVlPEdvb1N0cmluZz4odXJpKSkKKysjZWxzZQorKyNkZWZpbmUgX1BPUFBM RVJfTUFLRV9TSEFSRURfUERGRE9DKHVyaSkgc3RkOjptYWtlX3NoYXJlZDxQREZEb2M+KG5ldyBH b29TdHJpbmcodXJpKSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cikKKysjZW5kaWYKKysKKyAj aWYgUE9QUExFUl9DSEVDS19WRVJTSU9OKDAsIDgzLCAwKQorICNkZWZpbmUgX1BPUFBMRVJfQ09O U1RfODMgY29uc3QKKyAjZWxzZQorLS0gCitHaXRMYWIKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9p bmtzY2FwZS9wYXRjaGVzL0ZpeC1idWlsZC13aXRoLXBvcHBsZXItMjEuMTEuMC5wYXRjaCBiL3Ny Y3BrZ3MvaW5rc2NhcGUvcGF0Y2hlcy9GaXgtYnVpbGQtd2l0aC1wb3BwbGVyLTIxLjExLjAucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41ZDdmNDgwMTI3M2QK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2lua3NjYXBlL3BhdGNoZXMvRml4LWJ1aWxkLXdp dGgtcG9wcGxlci0yMS4xMS4wLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gNTcyNGMyMWI5 Y2I3YjYxNzZhN2IzNmNhMjQwNjhiMTQ4YzgxN2U4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IEV2YW5nZWxvcyBGb3V0cmFzIDxldmFuZ2Vsb3NAZm91dHJlbGlzLmNvbT4KK0RhdGU6 IE1vbiwgMSBOb3YgMjAyMSAyMTo0NTozOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggYnVp bGQgd2l0aCBwb3BwbGVyIDIxLjExLjAKKworR2Z4Rm9udDo6dGFnIGlzIG5vdyBvZiB0eXBlIHN0 ZDo6c3RyaW5nIGluc3RlYWQgb2YgR29vU3RyaW5nICouCistLS0KKyBzcmMvZXh0ZW5zaW9uL2lu dGVybmFsL3BkZmlucHV0L3BkZi1wYXJzZXIuY3BwIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2V4dGVuc2lvbi9pbnRlcm5hbC9w ZGZpbnB1dC9wZGYtcGFyc2VyLmNwcCBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQv cGRmLXBhcnNlci5jcHAKK2luZGV4IGUzZDA0ZDU0NGIuLmZlZWNlZmEwNDMgMTAwNjQ0CistLS0g YS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1wYXJzZXIuY3BwCisrKysgYi9z cmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1wYXJzZXIuY3BwCitAQCAtMjE2OSw3 ICsyMTY5LDExIEBAIHZvaWQgUGRmUGFyc2VyOjpvcFNldEZvbnQoT2JqZWN0IGFyZ3NbXSwgaW50 IC8qbnVtQXJncyovKQorICAgfQorICAgaWYgKHByaW50Q29tbWFuZHMpIHsKKyAgICAgcHJpbnRm KCIgIGZvbnQ6IHRhZz0lcyBuYW1lPSclcycgJWdcbiIsCisrI2lmIFBPUFBMRVJfQ0hFQ0tfVkVS U0lPTigyMSwxMSwwKQorKwkgICBmb250LT5nZXRUYWcoKS5jX3N0cigpLAorKyNlbHNlCisgCSAg IGZvbnQtPmdldFRhZygpLT5nZXRDU3RyaW5nKCksCisrI2VuZGlmCisgCSAgIGZvbnQtPmdldE5h bWUoKSA/IGZvbnQtPmdldE5hbWUoKS0+Z2V0Q1N0cmluZygpIDogIj8/PyIsCisgCSAgIGFyZ3Nb MV0uZ2V0TnVtKCkpOworICAgICBmZmx1c2goc3Rkb3V0KTsKKy0tIAorR2l0TGFiCisKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvaW5rc2NhcGUvdGVtcGxhdGUgYi9zcmNwa2dzL2lua3NjYXBlL3RlbXBs YXRlCmluZGV4IDQ1ZjQ4Y2NkYTBkYy4uNGQ5MDJlNjYzZjczIDEwMDY0NAotLS0gYS9zcmNwa2dz L2lua3NjYXBlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvaW5rc2NhcGUvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdpbmtzY2FwZScKIHBrZ25hbWU9aW5rc2Nh cGUKIHZlcnNpb249MS4xLjEKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIHdya3NyYz0iaW5rc2Nh cGUtJHt2ZXJzaW9ufV8yMDIxLTA5LTIwXzNiZjVhZTBkMjUiCiBidWlsZF9zdHlsZT1jbWFrZQog IyBidWlsZHMgZXhlY3V0YWJsZXMgdGhlbiBydW5zIGNoZWNrcwoKRnJvbSBiZjg5MzVmMjk2MDY4 YTBjMGVhZTY4MDAwMmNmZmJjZDAyM2E3NDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0 ZTogRnJpLCAyNSBNYXIgMjAyMiAxODozNDo0MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNi84XSBp cGU6IHJlYnVpbGQgYWdhaW5zdCBsaWJwb3BwbGVyIDIyLjA0LjAKCi0tLQogc3JjcGtncy9pcGUv cGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoIHwgMzMgKysrKysrKysrKysrKysrKysr Kwogc3JjcGtncy9pcGUvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0K IDIgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvaXBlL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5wYXRj aAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaXBlL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5w YXRjaCBiL3NyY3BrZ3MvaXBlL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmRmMjg5NDgwOWMxYwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvaXBlL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5wYXRj aApAQCAtMCwwICsxLDMzIEBACitkaWZmIC1OYXVyIHBkZnRvaXBlLmNwcC5vcmlnIHBkZnRvaXBl LmNwcAorLS0tIGEvaXBlLXRvb2xzL3BkZnRvaXBlL3BkZnRvaXBlLmNwcC5vcmlnCisrKysgYi9p cGUtdG9vbHMvcGRmdG9pcGUvcGRmdG9pcGUuY3BwCitAQCAtODQsMjIgKzg0LDIwIEBACisgICBp ZiAocXVpZXQpCisgICAgIGdsb2JhbFBhcmFtcy0+c2V0RXJyUXVpZXQocXVpZXQpOworIAorLSAg R29vU3RyaW5nICpvd25lclBXLCAqdXNlclBXOworKyAgc3RkOjpvcHRpb25hbDxHb29TdHJpbmc+ IG93bmVyUFcsIHVzZXJQVzsKKyAgIGlmIChvd25lclBhc3N3b3JkWzBdKSB7CistICAgIG93bmVy UFcgPSBuZXcgR29vU3RyaW5nKG93bmVyUGFzc3dvcmQpOworKyAgICBvd25lclBXID0gR29vU3Ry aW5nKG93bmVyUGFzc3dvcmQpOworICAgfSBlbHNlIHsKKy0gICAgb3duZXJQVyA9IDA7CisrICAg IG93bmVyUFcgPSBzdGQ6Om51bGxvcHQ7CisgICB9CisgICBpZiAodXNlclBhc3N3b3JkWzBdKSB7 CistICAgIHVzZXJQVyA9IG5ldyBHb29TdHJpbmcodXNlclBhc3N3b3JkKTsKKysgICAgdXNlclBX ID0gR29vU3RyaW5nKHVzZXJQYXNzd29yZCk7CisgICB9IGVsc2UgeworLSAgICB1c2VyUFcgPSAw OworKyAgICB1c2VyUFcgPSBzdGQ6Om51bGxvcHQ7CisgICB9CisgCisgICAvLyBvcGVuIFBERiBm aWxlCistICBQREZEb2MgKmRvYyA9IG5ldyBQREZEb2MoZmlsZU5hbWUsIG93bmVyUFcsIHVzZXJQ Vyk7CistICBkZWxldGUgdXNlclBXOworLSAgZGVsZXRlIG93bmVyUFc7CisrICBQREZEb2MgKmRv YyA9IG5ldyBQREZEb2Moc3RkOjptYWtlX3VuaXF1ZTxHb29TdHJpbmc+KGZpbGVOYW1lKSwgb3du ZXJQVywgdXNlclBXKTsKKyAKKyAgIGlmICghZG9jLT5pc09rKCkpCisgICAgIHJldHVybiAxOwor CmRpZmYgLS1naXQgYS9zcmNwa2dzL2lwZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvaXBlL3RlbXBsYXRl CmluZGV4IGZiZDUwMGEzZGM5NC4uNjJmY2ZlOTUwNTA0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2lw ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2lwZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2lwZScKIHBrZ25hbWU9aXBlCiB2ZXJzaW9uPTcuMi4yNAotcmV2 aXNpb249NQorcmV2aXNpb249NgogX3Rvb2xzX2NvbW1pdD12Ny4yLjIwLjEKIGhvc3RtYWtlZGVw ZW5kcz0icGtnLWNvbmZpZyBkb3h5Z2VuIHF0NS1xbWFrZSBxdDUtdG9vbHMgcXQ1LWhvc3QtdG9v bHMiCiBtYWtlZGVwZW5kcz0iY2Fpcm8tZGV2ZWwgZ3NsLWRldmVsIGxpYmN1cmwtZGV2ZWwgbGli anBlZy10dXJiby1kZXZlbAoKRnJvbSA1OTA3MjZkNTgyNjRkNzdkOWY1YWY2NjMzMDhiY2NlODMw YjRhYjU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStP cmVvNjM5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAx ODozNTozMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNy84XSBraXRpbmVyYXJ5OiByZWJ1aWxkIGFn YWluc3QgbGlicG9wcGxlciAyMi4wNC4wCgotLS0KIHNyY3BrZ3Mva2l0aW5lcmFyeS90ZW1wbGF0 ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2l0aW5lcmFyeS90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2l0aW5l cmFyeS90ZW1wbGF0ZQppbmRleCBhYTVhZDA3ZmUyMTkuLjVjMzZlODI5ZjdhZSAxMDA2NDQKLS0t IGEvc3JjcGtncy9raXRpbmVyYXJ5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva2l0aW5lcmFyeS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tpdGluZXJhcnkn CiBwa2duYW1lPWtpdGluZXJhcnkKIHZlcnNpb249MjEuMTIuMwotcmV2aXNpb249MQorcmV2aXNp b249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0iZXh0cmEtY21ha2UtbW9k dWxlcyBnZXR0ZXh0IGtjb3JlYWRkb25zIHBrZy1jb25maWcgcXQ1LWhvc3QtdG9vbHMgcXQ1LXFt YWtlIHF0NS10b29scy1kZXZlbCIKIG1ha2VkZXBlbmRzPSJrY2FsZW5kYXJjb3JlLWRldmVsIGtj b250YWN0cy1kZXZlbCBrZGVjbGFyYXRpdmUtZGV2ZWwga21pbWUtZGV2ZWwKCkZyb20gZGIyMTMz ODYzMTgzMWM2YjAwNDNlYzYwMGMyZGI1YTgyZWE4MDhlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogb3JlbzYzOSA8MzE5MTYzNzkrT3JlbzYzOUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CkRhdGU6IEZyaSwgMjUgTWFyIDIwMjIgMTg6MzY6MjQgLTA3MDAKU3ViamVjdDogW1BBVENI IDgvOF0gc2NyaWJ1czogcmVidWlsZCBhZ2FpbnN0IGxpYnBvcHBsZXIgMjIuMDQuMAoKLS0tCiAu Li4vc2NyaWJ1cy9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgucGF0Y2ggfCAgNTIgKysrKysr KwogLi4uL3NjcmlidXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjIuMC1maXgucGF0Y2ggIHwgMTI5ICsr KysrKysrKysrKysrKysrKwogc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRlICAgICAgICAgICAgICAg ICAgICAgIHwgICA0ICstCiAzIGZpbGVzIGNoYW5nZWQsIDE4MyBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2NyaWJ1cy9wYXRjaGVzL3Bv cHBsZXItMjIuMDMuMC1maXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Njcmli dXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjIuMC1maXgucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3NjcmlidXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoIGIvc3JjcGtncy9zY3Jp YnVzL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLmY3YTBjMDNmZGQ5NgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3Mvc2NyaWJ1cy9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgucGF0Y2gKQEAgLTAsMCAr MSw1MiBAQAorRnJvbSBmMTk0MTBhYzNiMjdlMzNkZDYyMTA1NzQ2Nzg0ZTYxZTg1YjkwYTFkIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmVhbiBHaGFsaSA8amdoYWxpQGxpYmVydHlz dXJmLmZyPgorRGF0ZTogV2VkLCAyIE1hciAyMDIyIDIyOjIyOjUzICswMDAwCitTdWJqZWN0OiBb UEFUQ0hdICMxNjc2NDogQnVpbGQgYnJlYWsgd2l0aCBwb3BwbGVyIDIyLjAzLjAKKworZ2l0LXN2 bi1pZDogc3ZuOi8vc2NyaWJ1cy5uZXQvdHJ1bmsvU2NyaWJ1c0AyNDk4MiAxMWQyMDcwMS04NDMx LTA0MTAtYTcxMS1lM2M5NTllM2I4NzAKKy0tLQorIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRm L2ltcG9ydHBkZi5jcHAgfCAxMyArKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDEzIGlu c2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2lt cG9ydHBkZi5jcHAgYi9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGYuY3BwCitp bmRleCAxNTRlNThhM2YwLi4zOTJkY2Q5ZTY0IDEwMDY0NAorLS0tIGEvc2NyaWJ1cy9wbHVnaW5z L2ltcG9ydC9wZGYvaW1wb3J0cGRmLmNwcAorKysrIGIvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9w ZGYvaW1wb3J0cGRmLmNwcAorQEAgLTg5LDcgKzg5LDExIEBAIFFJbWFnZSBQZGZQbHVnOjpyZWFk VGh1bWJuYWlsKGNvbnN0IFFTdHJpbmcmIGZOYW1lKQorICNlbmRpZg0KKyAJZ2xvYmFsUGFyYW1z LT5zZXRFcnJRdWlldChnVHJ1ZSk7DQorIA0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04g Pj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMywgMCkNCisrCVBERkRvYyBwZGZEb2N7IHN0 ZDo6bWFrZV91bmlxdWU8R29vU3RyaW5nPihmbmFtZSkgfTsNCisrI2Vsc2UNCisgCVBERkRvYyBw ZGZEb2N7Zm5hbWUsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHJ9Ow0KKysjZW5kaWYNCisgCWlm ICghcGRmRG9jLmlzT2soKSB8fCBwZGZEb2MuZ2V0RXJyb3JDb2RlKCkgPT0gZXJyRW5jcnlwdGVk KQ0KKyAJCXJldHVybiBRSW1hZ2UoKTsNCisgDQorQEAgLTM0Miw3ICszNDYsMTEgQEAgYm9vbCBQ ZGZQbHVnOjpjb252ZXJ0KGNvbnN0IFFTdHJpbmcmIGZuKQorIAlnbG9iYWxQYXJhbXMtPnNldEVy clF1aWV0KGdUcnVlKTsNCisgLy8JZ2xvYmFsUGFyYW1zLT5zZXRQcmludENvbW1hbmRzKGdUcnVl KTsNCisgCVFMaXN0PE9wdGlvbmFsQ29udGVudEdyb3VwKj4gb2NnR3JvdXBzOw0KKysjaWYgUE9Q UExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMywgMCkN CisrCWF1dG8gcGRmRG9jID0gc3RkOjptYWtlX3VuaXF1ZTxQREZEb2M+KHN0ZDo6bWFrZV91bmlx dWU8R29vU3RyaW5nPihmbmFtZSkpOw0KKysjZWxzZQ0KKyAJYXV0byBwZGZEb2MgPSBzdGQ6OnVu aXF1ZV9wdHI8UERGRG9jPihuZXcgUERGRG9jKGZuYW1lLCBudWxscHRyLCBudWxscHRyLCBudWxs cHRyKSk7DQorKyNlbmRpZg0KKyAJaWYgKHBkZkRvYykNCisgCXsNCisgCQlpZiAocGRmRG9jLT5n ZXRFcnJvckNvZGUoKSA9PSBlcnJFbmNyeXB0ZWQpDQorQEAgLTM2MSw4ICszNjksMTMgQEAgYm9v bCBQZGZQbHVnOjpjb252ZXJ0KGNvbnN0IFFTdHJpbmcmIGZuKQorICNlbHNlDQorIAkJCQlhdXRv IGZuYW1lID0gbmV3IEdvb1N0cmluZyhRRmlsZTo6ZW5jb2RlTmFtZShmbikuZGF0YSgpKTsNCisg I2VuZGlmDQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05f RU5DT0RFKDIyLCAzLCAwKQ0KKysJCQkJc3RkOjpvcHRpb25hbDxHb29TdHJpbmc+IHVzZXJQVyhz dGQ6OmluX3BsYWNlLCB0ZXh0LnRvTG9jYWw4Qml0KCkuZGF0YSgpKTsNCisrCQkJCXBkZkRvYy5y ZXNldChuZXcgUERGRG9jKHN0ZDo6bWFrZV91bmlxdWU8R29vU3RyaW5nPihmbmFtZSksIHVzZXJQ VywgdXNlclBXLCBudWxscHRyKSk7DQorKyNlbHNlDQorIAkJCQlhdXRvIHVzZXJQVyA9IG5ldyBH b29TdHJpbmcodGV4dC50b0xvY2FsOEJpdCgpLmRhdGEoKSk7DQorIAkJCQlwZGZEb2MucmVzZXQo bmV3IFBERkRvYyhmbmFtZSwgdXNlclBXLCB1c2VyUFcsIG51bGxwdHIpKTsNCisrI2VuZGlmDQor IAkJCQlxQXBwLT5jaGFuZ2VPdmVycmlkZUN1cnNvcihRQ3Vyc29yKFF0OjpXYWl0Q3Vyc29yKSk7 DQorIAkJCX0NCisgCQkJaWYgKCghcGRmRG9jKSB8fCAocGRmRG9jLT5nZXRFcnJvckNvZGUoKSAh PSBlcnJOb25lKSkNCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy9wb3BwbGVy LTIyLjIuMC1maXgucGF0Y2ggYi9zcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjIu MC1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40ZTBm NjA3YzZhMDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy9wb3Bw bGVyLTIyLjIuMC1maXgucGF0Y2gKQEAgLTAsMCArMSwxMjkgQEAKK0Zyb20gODVjMGRmZjM0MjJm YTNjMjZmYmMyZThkODU2MWY1OTdlYzI0YmQ5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IEplYW4gR2hhbGkgPGpnaGFsaUBsaWJlcnR5c3VyZi5mcj4KK0RhdGU6IFdlZCwgMiBGZWIg MjAyMiAyMzoxMjo1MiArMDAwMAorU3ViamVjdDogW1BBVENIXSAjMTY3MzQ6IEJ1aWxkIGJyZWFr IHdpdGggcG9wcGxlciAyMi4yLjAKKworZ2l0LXN2bi1pZDogc3ZuOi8vc2NyaWJ1cy5uZXQvdHJ1 bmsvU2NyaWJ1c0AyNDg4NCAxMWQyMDcwMS04NDMxLTA0MTAtYTcxMS1lM2M5NTllM2I4NzAKKy0t LQorIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAgfCA0NyArKysrKysr KysrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMTAg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9z bGFvdXRwdXQuY3BwIGIvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmNwcAor aW5kZXggNTg5NGJmMmFkNi4uMzY1MGM5NmY1MiAxMDA2NDQKKy0tLSBhL3NjcmlidXMvcGx1Z2lu cy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAKKysrKyBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQv cGRmL3NsYW91dHB1dC5jcHAKK0BAIC03LDYgKzcsMTEgQEAgZm9yIHdoaWNoIGEgbmV3IGxpY2Vu c2UgKEdQTCtleGNlcHRpb24pIGlzIGluIHBsYWNlLgorIA0KKyAjaW5jbHVkZSAic2xhb3V0cHV0 LmgiDQorIA0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9O X0VOQ09ERSgyMiwgMiwgMCkNCisrI2luY2x1ZGUgPG1lbW9yeT4NCisrI2luY2x1ZGUgPG9wdGlv bmFsPg0KKysjZW5kaWYNCisrDQorICNpbmNsdWRlIDxwb3BwbGVyL0dsb2JhbFBhcmFtcy5oPg0K KyAjaW5jbHVkZSA8cG9wcGxlci9wb3BwbGVyLWNvbmZpZy5oPg0KKyAjaW5jbHVkZSA8cG9wcGxl ci9GaWxlU3BlYy5oPg0KK0BAIC0zMDI3LDE4ICszMDMyLDI0IEBAIHZvaWQgU2xhT3V0cHV0RGV2 OjptYXJrUG9pbnQoUE9QUExFUl9DT05TVCBjaGFyICpuYW1lLCBEaWN0ICpwcm9wZXJ0aWVzKQor IHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkNCisgew0KKyAJ R2Z4Rm9udCAqZ2Z4Rm9udDsNCistCUdmeEZvbnRMb2MgKmZvbnRMb2M7DQorKyNpZiBQT1BQTEVS X0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCAyLCAwKQ0KKysJ c3RkOjpvcHRpb25hbDxHZnhGb250TG9jPiBmb250TG9jOw0KKysJY29uc3QgR29vU3RyaW5nICog ZmlsZU5hbWUgPSBudWxscHRyOw0KKysJc3RkOjp1bmlxdWVfcHRyPEZvRmlUcnVlVHlwZT4gZmY7 DQorKyNlbHNlDQorKwlHZnhGb250TG9jICogZm9udExvYyA9IG51bGxwdHI7DQorKwlHb29TdHJp bmcgKiBmaWxlTmFtZSA9IG51bGxwdHI7DQorKwlGb0ZpVHJ1ZVR5cGUgKiBmZiA9IG51bGxwdHI7 DQorKyNlbmRpZg0KKyAJR2Z4Rm9udFR5cGUgZm9udFR5cGU7DQorIAlTbGFPdXRGb250RmlsZUlE ICppZDsNCisgCVNwbGFzaEZvbnRGaWxlICpmb250RmlsZTsNCisgCVNwbGFzaEZvbnRTcmMgKmZv bnRzcmMgPSBudWxscHRyOw0KKy0JRm9GaVRydWVUeXBlICpmZjsNCisgCU9iamVjdCByZWZPYmos IHN0ck9iajsNCistCUdvb1N0cmluZyAqZmlsZU5hbWU7DQorLQljaGFyICp0bXBCdWY7DQorKwlj aGFyICp0bXBCdWYgPSBudWxscHRyOw0KKyAJaW50IHRtcEJ1ZkxlbiA9IDA7DQorLQlpbnQgKmNv ZGVUb0dJRDsNCistCWNvbnN0IGRvdWJsZSAqdGV4dE1hdDsNCisrCWludCAqY29kZVRvR0lEID0g bnVsbHB0cjsNCisrCWNvbnN0IGRvdWJsZSAqdGV4dE1hdCA9IG51bGxwdHI7DQorIAlkb3VibGUg bTExLCBtMTIsIG0yMSwgbTIyLCBmb250U2l6ZTsNCisgCVNwbGFzaENvb3JkIG1hdFs0XTsNCisg CWludCBuID0gMDsNCitAQCAtMzA0Niw5ICszMDU3LDYgQEAgdm9pZCBTbGFPdXRwdXREZXY6OnVw ZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQorIAlTcGxhc2hDb29yZCBtYXRyaXhbNl07DQorIA0K KyAJbV9mb250ID0gbnVsbHB0cjsNCistCWZpbGVOYW1lID0gbnVsbHB0cjsNCistCXRtcEJ1ZiA9 IG51bGxwdHI7DQorLQlmb250TG9jID0gbnVsbHB0cjsNCisgDQorIAlnZnhGb250ID0gc3RhdGUt PmdldEZvbnQoKTsNCisgCWlmICghZ2Z4Rm9udCkNCitAQCAtMzA4Myw3ICszMDkxLDExIEBAIHZv aWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkKKyAJCX0NCisgCQll bHNlDQorIAkJeyAvLyBnZnhGb250TG9jRXh0ZXJuYWwNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9W RVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjIsIDIsIDApDQorKwkJCWZpbGVOYW1l ID0gZm9udExvYy0+cGF0aEFzR29vU3RyaW5nKCk7DQorKyNlbHNlDQorIAkJCWZpbGVOYW1lID0g Zm9udExvYy0+cGF0aDsNCisrI2VuZGlmDQorIAkJCWZvbnRUeXBlID0gZm9udExvYy0+Zm9udFR5 cGU7DQorIAkJfQ0KKyANCitAQCAtMzEzNiw5ICszMTQ4LDE0IEBAIHZvaWQgU2xhT3V0cHV0RGV2 Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkKKyAJCQkJZmYgPSBGb0ZpVHJ1ZVR5cGU6Om1h a2UodG1wQnVmLCB0bXBCdWZMZW4pOw0KKyAJCQlpZiAoZmYpDQorIAkJCXsNCisrI2lmIFBPUFBM RVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjIsIDIsIDApDQor KwkJCQljb2RlVG9HSUQgPSAoKEdmeDhCaXRGb250KikgZ2Z4Rm9udCktPmdldENvZGVUb0dJRE1h cChmZi5nZXQoKSk7DQorKwkJCQlmZi5yZXNldCgpOw0KKysjZWxzZQ0KKyAJCQkJY29kZVRvR0lE ID0gKChHZng4Qml0Rm9udCAqKWdmeEZvbnQpLT5nZXRDb2RlVG9HSURNYXAoZmYpOw0KKy0JCQkJ biA9IDI1NjsNCisgCQkJCWRlbGV0ZSBmZjsNCisrI2VuZGlmDQorKwkJCQluID0gMjU2Ow0KKyAJ CQl9DQorIAkJCWVsc2UNCisgCQkJew0KK0BAIC0zMjA5LDggKzMyMjYsMTMgQEAgdm9pZCBTbGFP dXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQorIAkJCQkJZmYgPSBGb0ZpVHJ1 ZVR5cGU6Om1ha2UodG1wQnVmLCB0bXBCdWZMZW4pOw0KKyAJCQkJaWYgKCEgZmYpDQorIAkJCQkJ Z290byBlcnIyOw0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJT SU9OX0VOQ09ERSgyMiwgMiwgMCkNCisrCQkJCWNvZGVUb0dJRCA9ICgoR2Z4Q0lERm9udCopIGdm eEZvbnQpLT5nZXRDb2RlVG9HSURNYXAoZmYuZ2V0KCksICZuKTsNCisrCQkJCWZmLnJlc2V0KCk7 DQorKyNlbHNlDQorIAkJCQljb2RlVG9HSUQgPSAoKEdmeENJREZvbnQgKilnZnhGb250KS0+Z2V0 Q29kZVRvR0lETWFwKGZmLCAmbik7DQorIAkJCQlkZWxldGUgZmY7DQorKyNlbmRpZg0KKyAJCQl9 DQorIAkJCWlmICghKGZvbnRGaWxlID0gbV9mb250RW5naW5lLT5sb2FkVHJ1ZVR5cGVGb250KA0K KyAJCQkJCQkJaWQsDQorQEAgLTMyNDcsMTQgKzMyNjksMTkgQEAgdm9pZCBTbGFPdXRwdXREZXY6 OnVwZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQorIAltYXRbM10gPSAtbTIyOw0KKyAJbV9mb250 ID0gbV9mb250RW5naW5lLT5nZXRGb250KGZvbnRGaWxlLCBtYXQsIG1hdHJpeCk7DQorIA0KKysj aWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPCBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCAy LCAwKQ0KKyAJZGVsZXRlIGZvbnRMb2M7DQorKyNlbmRpZg0KKyAJaWYgKGZvbnRzcmMgJiYgIWZv bnRzcmMtPmlzRmlsZSkNCisgCQlmb250c3JjLT51bnJlZigpOw0KKyAJcmV0dXJuOw0KKyANCisg ZXJyMjoNCisgCWRlbGV0ZSBpZDsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OIDwgUE9Q UExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMiwgMCkNCisgCWRlbGV0ZSBmb250TG9jOw0KKysjZW5k aWYNCisrDQorIGVycjE6DQorIAlpZiAoZm9udHNyYyAmJiAhZm9udHNyYy0+aXNGaWxlKQ0KKyAJ CWZvbnRzcmMtPnVucmVmKCk7DQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRl IGIvc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRlCmluZGV4IDBlYzkwOGY3ZWY1MC4uMTI1YTdkNTRl NGNmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3NjcmlidXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9z Y3JpYnVzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdz Y3JpYnVzJwogcGtnbmFtZT1zY3JpYnVzCiB2ZXJzaW9uPTEuNS44Ci1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EQ01BS0VfU0tJUF9S UEFUSD1UUlVFIC1EUVRfUFJFRklYPSR7WEJQU19DUk9TU19CQVNFfS91c3IKLSAtRFdBTlRfR1JB UEhJQ1NNQUdJQ0s9MSIKKyAtRFdBTlRfR1JBUEhJQ1NNQUdJQ0s9MSAtRFdBTlRfQ1BQMTc9T04i CiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1LXFtYWtlIHF0NS1ob3N0LXRvb2xzIHB5 dGhvbjMiCiBtYWtlZGVwZW5kcz0icXQ1LWRldmVsIHF0NS10b29scy1kZXZlbCB6bGliLWRldmVs IGNhaXJvLWRldmVsIGxjbXMyLWRldmVsCiAgY3Vwcy1kZXZlbCBsaWJ4bWwyLWRldmVsIGh5cGhl bi1kZXZlbCBnaG9zdHNjcmlwdC1kZXZlbCBib29zdC1kZXZlbAo= --===============0813527736307488538==--