From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10: - amarok-2.2.0 Date: Mon, 06 Jul 2026 18:04:19 GMT Message-ID: <178336105934.1.2210205260633514039.rpms-amarok-8ee4419382ab@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10 X-Git-Rev: 8ee4419382abd241ff2bcf514a7b621069c6a9f8 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMApDb21taXQgOiA4ZWU0NDE5MzgyYWJkMjQxZmYyYmNmNTE0YTdiNjIxMDY5YzZh OWY4CkF1dGhvciA6IFJleCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJvamVjdC5vcmc+CkRhdGUg ICA6IDIwMDktMDktMjlUMTE6NTA6MDIrMDA6MDAKU3RhdHMgIDogKzEwLy0xMzU0IGluIDQgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FtYXJvay9j LzhlZTQ0MTkzODJhYmQyNDFmZjJiY2Y1MTRhN2I2MjEwNjljNmE5Zjg/YnJhbmNoPWVwZWwxMAoK TG9nOgotIGFtYXJvay0yLjIuMAoKLS0tCmRpZmYgLS1naXQgYS8uY3ZzaWdub3JlIGIvLmN2c2ln bm9yZQppbmRleCAwNjE1ZWU3Li5lODFkMWNiIDEwMDY0NAotLS0gYS8uY3ZzaWdub3JlCisrKyBi Ly5jdnNpZ25vcmUKQEAgLTEgKzEgQEAKLWFtYXJvay0yLjEuOTAudGFyLmJ6MgorYW1hcm9rLTIu Mi4wLnRhci5iejIKCmRpZmYgLS1naXQgYS9hbWFyb2suc3BlYyBiL2FtYXJvay5zcGVjCmluZGV4 IGM3YWI4Y2EuLjMxMzc1OGUgMTAwNjQ0Ci0tLSBhL2FtYXJvay5zcGVjCisrKyBiL2FtYXJvay5z cGVjCkBAIC0xLDIzICsxLDE3IEBACiAKLSVkZWZpbmUgc25hcCAyMDA5MDkyM2dpdAotCiBOYW1l OiAgICBhbWFyb2sKIFN1bW1hcnk6IE1lZGlhIHBsYXllcgotVmVyc2lvbjogMi4xLjkwCi1SZWxl YXNlOiAyLiV7c25hcH0lez9kaXN0fQorVmVyc2lvbjogMi4yLjAKK1JlbGVhc2U6IDElez9kaXN0 fQogCiBHcm91cDogCSBBcHBsaWNhdGlvbnMvTXVsdGltZWRpYQogTGljZW5zZTogR1BMdjIrCiBV cmw6ICAgICBodHRwOi8vYW1hcm9rLmtkZS5vcmcvCi1Tb3VyY2UwOiBodHRwOi8vZG93bmxvYWQu a2RlLm9yZy91bnN0YWJsZS9hbWFyb2svJXt2ZXJzaW9ufS9zcmMvYW1hcm9rLSV7dmVyc2lvbn0u dGFyLmJ6MgotI1NvdXJjZTA6ICBhbWFyb2stJXt2ZXJzaW9ufS0le3NuYXB9LnRhci5iejIKK1Nv dXJjZTA6IGh0dHA6Ly9kb3dubG9hZC5rZGUub3JnL3N0YWJsZS9hbWFyb2svJXt2ZXJzaW9ufS9z cmMvYW1hcm9rLSV7dmVyc2lvbn0udGFyLmJ6MgogQnVpbGRSb290OiAle190bXBwYXRofS8le25h bWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQogCiBQYXRjaDUw OiBhbWFyb2stMi4wLjkwLXF0c2NyaXB0X25vdF9yZXF1aXJlZC5wYXRjaAogCi0jIG1vc3RseSBh OiAgZ2l0IGRpZmYgdjIuMS45MAotUGF0Y2gxMDA6IHBvc3QtMi4xLjkwLSV7c25hcH0ucGF0Y2gg Ci0KIEJ1aWxkUmVxdWlyZXM6IGN1cmwtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6IGRlc2t0b3AtZmls ZS11dGlscwogQnVpbGRSZXF1aXJlczogZ2V0dGV4dApAQCAtMzgsOCArMzIsNyBAQCBCdWlsZFJl cXVpcmVzOiBzb3ByYW5vLWRldmVsCiBCdWlsZFJlcXVpcmVzOiB0YWdsaWItZGV2ZWwgPj0gMS42 CiBCdWlsZFJlcXVpcmVzOiB0YWdsaWItZXh0cmFzLWRldmVsID49IDEuMC4wCiAKLSVnbG9iYWwg a2RlbGliczRfdmVyc2lvbiAlKChrZGU0LWNvbmZpZyAtLXZlcnNpb24gMj4vZGV2L251bGwgfHwg ZWNobyBLREUgNC4yLjApIHwgZ3JlcCAnXktERScgfCBjdXQgLWQnICcgLWYyIHwgY3V0IC1kJy0n IC1mMSkKLSV7P19xdDRfdmVyc2lvbjpSZXF1aXJlczogcXQ0JXs/X2lzYX0gPj0gJXtfcXQ0X3Zl cnNpb259fQorJWdsb2JhbCBrZGVsaWJzNF92ZXJzaW9uICUoKGtkZTQtY29uZmlnIC0tdmVyc2lv biAyPi9kZXYvbnVsbCB8fCBlY2hvIEtERSA0LjMuMCkgfCBncmVwICdeS0RFJyB8IGN1dCAtZCcg JyAtZjIgfCBjdXQgLWQnLScgLWYxKQogQnVpbGRSZXF1aXJlczogcXRzY3JpcHRiaW5kaW5ncwog UmVxdWlyZXM6IHF0c2NyaXB0YmluZGluZ3Mlez9faXNhfQogUmVxdWlyZXM6ICV7bmFtZX0tdXRp bHMgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KQEAgLTY1LDYgKzU4LDcgQEAgU3VtbWFyeTogUnVu dGltZSBsaWJyYXJpZXMgZm9yICV7bmFtZX0KIEdyb3VwOiAgIFN5c3RlbSBFbnZpcm9ubWVudC9M aWJyYXJpZXMKIFJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAlez9r ZGVsaWJzNF92ZXJzaW9uOlJlcXVpcmVzOiBrZGVsaWJzNCV7P19pc2F9ID49ICV7a2RlbGliczRf dmVyc2lvbn19Cislez9fcXQ0X3ZlcnNpb246UmVxdWlyZXM6IHF0NCV7P19pc2F9ID49ICV7X3F0 NF92ZXJzaW9ufX0KICVkZXNjcmlwdGlvbiBsaWJzCiAle3N1bW1hcnl9LgogCkBAIC04MSw3ICs3 NSw2IEBAIE9ic29sZXRlczogYW1hcm9rLXV0aWxpdGllcyA8IDIuMC45NgogJXNldHVwIC1xIAog CiAlcGF0Y2g1MCAtcDEgLWIgLnF0c2NyaXB0X25vdF9yZXF1aXJlZAotJXBhdGNoMTAwIC1wMSAt YiAuMjAwOTA5MjNnaXQKIAogCiAlYnVpbGQKQEAgLTE3Myw2ICsxNjYsOSBAQCBmaQogCiAKICVj aGFuZ2Vsb2cKKyogVHVlIFNlcCAyOSAyMDA5IFJleCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJv amVjdC5vcmc+IDIuMi4wLTEKKy0gYW1hcm9rLTIuMi4wCisKICogV2VkIFNlcCAyMyAyMDA5IFJl eCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJvamVjdC5vcmc+IDIuMS45MC0yLjIwMDkwOTIzZ2l0 CiAtIDIwMDkwOTIzZ2l0IHNuYXBzaG90CiAKCmRpZmYgLS1naXQgYS9wb3N0LTIuMS45MC0yMDA5 MDkyM2dpdC5wYXRjaCBiL3Bvc3QtMi4xLjkwLTIwMDkwOTIzZ2l0LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBmN2IxNDRlLi4wMDAwMDAwCi0tLSBhL3Bvc3QtMi4xLjkwLTIw MDkwOTIzZ2l0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM0MCArMCwwIEBACi1kaWZmIC0t Z2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCi1pbmRleCAyZDk3NTU5Li42YTRlMzA3IDEwMDY0 NAotLS0tIGEvQ2hhbmdlTG9nCi0rKysgYi9DaGFuZ2VMb2cKLUBAIC0yLDYgKzIsMjAgQEAgQW1h cm9rIENoYW5nZUxvZwotID09PT09PT09PT09PT09PT0KLSAoQykgMjAwMi0yMDA5IHRoZSBBbWFy b2sgYXV0aG9ycy4KLSAKLStWRVJTSU9OIDIuMgotKyAgQ0hBTkdFUzoKLSsgICAgKiBNb3JlIGNv bGxlY3Rpb24gc2Nhbm5pbmcgc3BlZWR1cHMuCi0rCi0rICBCVUdGSVhFUzoKLSsgICAgKiBGaXgg cGhvdG9zIGFwcGxldCBub3Qgd29ya2luZyBhZnRlciByZXN1bWluZyBwbGF5YmFjay4gKEJSIDIw NjgyOSkKLSsgICAgKiBGaXggcmVncmVzc2lvbiB3aGVyZSB0aGUgZ2VucmUgZmllbGQgaW4gdGhl IFRhZyBEaWFsb2cgd291bGQgc2hvdyB0aGUKLSsgICAgICBjb21wb3NlciBvZiB0aGUgdHJhY2su IChCUiAyMDgyNTUpCi0rICAgICogRG9uJ3QgcmVzaHVmZmxlIHRoZSBwbGF5bGlzdCBldmVyeSB0 aW1lIHRoZSBhY3RpdmUgdHJhY2sgY2hhbmdlcyB3aGVuCi0rICAgICogdXNpbmcgYSByYW5kb20g c29ydCBvcmRlci4KLSsgICAgKiBGaXggdGhlIFZhcmlvdXMgQXJ0aXN0IG5vZGUgc29tZXRpbWVz IGJlaW5nIHNob3duIGluIHRoZSBDb2xsZWN0aW9uCi0rICAgICAgQnJvd3NlciB3aXRoIG5vdGhp bmcgdW5kZXJuZWF0aCBpdCAob3IgYW4gZW1wdHkgIlVua25vd24iIGFsYnVtKS4KLSsgICAgKiBG aXggc29tZSB0cmFja3MnIHRhZ3Mgbm90IGJlaW5nIHNhdmVkIGNvcnJlY3RseSB0byB0aGUgZGF0 YWJhc2UuCi0rICAgICAgKEJSIDIwMjAyMSkKLSAKLSBWRVJTSU9OIDIuMi1yYzEKLSAgIEZFQVRV UkVTOgotQEAgLTIzLDYgKzM3LDcgQEAgVkVSU0lPTiAyLjItcmMxCi0gICAgICogQWRkZWQgIkxv Y2sgbGF5b3V0IiBvcHRpb24gdG8gdGhlIG1haW4gd2luZG93J3MgY29udGV4dCBtZW51LiAgICAK LSAKLSAgIEJVR0ZJWEVTOgotKyAgICAqIEZpeCB3aWtpcGVkaWEgZW5naW5lIHJlZmluZWQgc2Vh cmNoIGJyb2tlbi4gKEJSIDIwODAyNCkKLSAgICAgKiBDcmFzaCBpbiBRVGV4dENvZGVjIHdoaWxl IHNjYW5uaW5nIGNvbGxlY3Rpb24gaGFzIGJlZW4gZml4ZWQuCi0gICAgICAgQXBwYXJlbnRseS4g KEJSIDE5MTQ0NykKLSAgICAgKiBBIGRpYWxvZyB3aXRoICJDYW4gbm90IHdyaXRlIHBsYXlsaXN0 ICgvKSIgd2FzIGRpc3BsYXllZCB3aGVuIHVzaW5nCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbGxlY3Rp b24vaXBob25lb3MvYW1hcm9rX2NvbGxlY3Rpb24taXBob25lb3Njb2xsZWN0aW9uLmRlc2t0b3Ag Yi9zcmMvY29sbGVjdGlvbi9pcGhvbmVvcy9hbWFyb2tfY29sbGVjdGlvbi1pcGhvbmVvc2NvbGxl Y3Rpb24uZGVza3RvcAotaW5kZXggODAzOTZlZi4uMzczZDcxYyAxMDA2NDQKLS0tLSBhL3NyYy9j b2xsZWN0aW9uL2lwaG9uZW9zL2FtYXJva19jb2xsZWN0aW9uLWlwaG9uZW9zY29sbGVjdGlvbi5k ZXNrdG9wCi0rKysgYi9zcmMvY29sbGVjdGlvbi9pcGhvbmVvcy9hbWFyb2tfY29sbGVjdGlvbi1p cGhvbmVvc2NvbGxlY3Rpb24uZGVza3RvcAotQEAgLTE3LDYgKzE3LDcgQEAgTmFtZVtubl09U2ty aXZldmVybmEgc2FtbGluZyBmb3IgaVBob25lIE9TIDMuMAotIE5hbWVbcGxdPUtvbGVrY2phIHR5 bGtvLWRvLW9kY3p5dHUgaVBob25lIE9TIDMuMAotIE5hbWVbcHRdPUNvbGVjw6fDo28gQXBlbmFz IHBhcmEgTGVpdHVyYSBkbyBpUGhvbmUgT1MgMy4wCi0gTmFtZVtwdF9CUl09Q29sZcOnw6NvIFNv bWVudGUgcGFyYSBMZWl0dXJhIGRvIGlQaG9uZSBPUyAzLjAKLStOYW1lW3J1XT3QmtC+0LvQu9C1 0LrRhtC40Y8gaVBob25lIE9TIDMuMCAo0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8p Ci0gTmFtZVtzcl090JfQsdC40YDQutCwINCY4oCR0YTQvtC9INCe0KHigJHQsCAzLjAgICjRgdCw 0LzQviDQt9CwINGH0LjRgtCw0ZrQtSkKLSBOYW1lW3NyQGxhdGluXT1aYmlya2EgaVBob25lT1Pi gJFhIDMuMCAgKHNhbW8gemEgxI1pdGFuamUpCi0gTmFtZVtzdl09aVBob25lIE9TIDMuMCBza3Jp dnNreWRkYWQgc2FtbGluZwotQEAgLTQwLDYgKzQxLDcgQEAgQ29tbWVudFtubl09QW1hcm9rLXNh bWxpbmdzdGlsbGVnZyBmb3IgaVBob25lIE9TIDMuMAotIENvbW1lbnRbcGxdPVd0eWN6a2Ega29s ZWtjamkgdHlsa28tZG8tb2Rjenl0dSBpUGhvbmUgT1MgMy4wIGRsYSBBbWFyb2thCi0gQ29tbWVu dFtwdF09VW0gJ3BsdWdpbicgZGEgY29sZWPDp8OjbywgYXBlbmFzIHBhcmEgbGVpdHVyYSwgZG8g aVBob25lIE9TIDMuMCBwYXJhIG8gQW1hcm9rCi0gQ29tbWVudFtwdF9CUl09UGx1Z2luIGRlIGNv bGXDp8OjbyBzb21lbnRlIHBhcmEgTGVpdHVyYSBkbyBpUGhvbmUgT1MgMy4wLCBwYXJhIG8gQW1h cm9rCi0rQ29tbWVudFtydV090JzQvtC00YPQu9GMINC60L7Qu9C70LXQutGG0LjRjyBpUGhvbmUg T1MgMy4wICjRgtC+0LvRjNC60L4g0LTQu9GPINGH0YLQtdC90LjRjykKLSBDb21tZW50W3NyXT3Q n9GA0LjQutGZ0YPRh9Cw0Log0LfQsdC40YDQutC1INC90LAg0JjigJHRhNC+0L0g0J7QoeKAkdGD IDMuMCAo0YHQsNC80L4g0LfQsCDRh9C40YLQsNGa0LUpINC30LAg0JDQvNCw0YDQvtC6Ci0gQ29t bWVudFtzckBsYXRpbl09UHJpa2xqdcSNYWsgemJpcmtlIG5hIGlQaG9uZU9T4oCRdSAzLjAgKHNh bW8gemEgxI1pdGFuamUpIHphIEFtYXJvawotIENvbW1lbnRbc3ZdPUluc3RpY2tzcHJvZ3JhbSBt ZWQgaVBob25lIE9TIDMuMCBza3JpdnNreWRkYWQgc2FtbGluZyBmw7ZyIEFtYXJvawotZGlmZiAt LWdpdCBhL3NyYy9jb2xsZWN0aW9uL2lwb2Rjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLWlw b2Rjb2xsZWN0aW9uLmRlc2t0b3AgYi9zcmMvY29sbGVjdGlvbi9pcG9kY29sbGVjdGlvbi9hbWFy b2tfY29sbGVjdGlvbi1pcG9kY29sbGVjdGlvbi5kZXNrdG9wCi1pbmRleCA0ZmRhNjE3Li40OGM2 NDBhIDEwMDY0NAotLS0tIGEvc3JjL2NvbGxlY3Rpb24vaXBvZGNvbGxlY3Rpb24vYW1hcm9rX2Nv bGxlY3Rpb24taXBvZGNvbGxlY3Rpb24uZGVza3RvcAotKysrIGIvc3JjL2NvbGxlY3Rpb24vaXBv ZGNvbGxlY3Rpb24vYW1hcm9rX2NvbGxlY3Rpb24taXBvZGNvbGxlY3Rpb24uZGVza3RvcAotQEAg LTM2LDcgKzM2LDcgQEAgTmFtZVtwbF09S29sZWtjamEgaVBvZAotIE5hbWVbcHRdPUNvbGVjw6fD o28gZG8gSVBvZAotIE5hbWVbcHRfQlJdPUNvbGXDp8OjbyBpUG9kCi0gTmFtZVtyb109Q29sZWPI m2llIElwb2QKLS1OYW1lW3J1XT3QmtC+0LvQu9C10LrRhtC40Y8gSXBvZAotK05hbWVbcnVdPdCa 0L7Qu9C70LXQutGG0LjRjyBpUG9kCi0gTmFtZVtzbF09WmJpcmthIGlQb2QKLSBOYW1lW3NyXT3Q l9Cx0LjRgNC60LAg0LjigJHQv9C+0LTQsAotIE5hbWVbc3JAbGF0aW5dPVpiaXJrYSBpUG9kYQot QEAgLTg0LDcgKzg0LDcgQEAgQ29tbWVudFtwbF09V3R5Y3prYSBrb2xla2NqaSBpUG9kYSBkbGEg QW1hcm9rYQotIENvbW1lbnRbcHRdPVVtICdwbHVnaW4nIGRhIGNvbGVjw6fDo28gZG8gSVBvZCBw YXJhIG8gQW1hcm9rCi0gQ29tbWVudFtwdF9CUl09UGx1Zy1pbiBkZSBjb2xlw6fDo28gaVBvZCBw YXJhIG8gQW1hcm9rCi0gQ29tbWVudFtyb109TW9kdWwgZGUgY29sZWPIm2llIElwb2QgcGVudHJ1 IEFtYXJvawotLUNvbW1lbnRbcnVdPdCc0L7QtNGD0LvRjCDQutC+0LvQu9C10LrRhtC40LggSXBv ZCDQtNC70Y8gQW1hcm9rCi0rQ29tbWVudFtydV090JzQvtC00YPQu9GMINC60L7Qu9C70LXQutGG 0LjQuCBpUG9kINC00LvRjyBBbWFyb2sKLSBDb21tZW50W3NsXT1Wc3RhdmVrIHphIHpiaXJrbyBp UG9kIHphIEFtYXJvawotIENvbW1lbnRbc3JdPdCf0YDQuNC60ZnRg9GH0LDQuiDQt9Cx0LjRgNC6 0LUg0L3QsCDQuOKAkdC/0L7QtNGDINC30LAg0JDQvNCw0YDQvtC6Ci0gQ29tbWVudFtzckBsYXRp bl09UHJpa2xqdcSNYWsgemJpcmtlIG5hIGlQb2R1IHphIEFtYXJvawotZGlmZiAtLWdpdCBhL3Ny Yy9jb2xsZWN0aW9uL215c3FsZWNvbGxlY3Rpb24vYW1hcm9rX2NvbGxlY3Rpb24tbXlzcWxlY29s bGVjdGlvbi5kZXNrdG9wIGIvc3JjL2NvbGxlY3Rpb24vbXlzcWxlY29sbGVjdGlvbi9hbWFyb2tf Y29sbGVjdGlvbi1teXNxbGVjb2xsZWN0aW9uLmRlc2t0b3AKLWluZGV4IGMzYWUxMmQuLjFkZWNl YmIgMTAwNjQ0Ci0tLS0gYS9zcmMvY29sbGVjdGlvbi9teXNxbGVjb2xsZWN0aW9uL2FtYXJva19j b2xsZWN0aW9uLW15c3FsZWNvbGxlY3Rpb24uZGVza3RvcAotKysrIGIvc3JjL2NvbGxlY3Rpb24v bXlzcWxlY29sbGVjdGlvbi9hbWFyb2tfY29sbGVjdGlvbi1teXNxbGVjb2xsZWN0aW9uLmRlc2t0 b3AKLUBAIC0xOCw2ICsxOCw3IEBAIE5hbWVbbm5dPU15U1FMZS1zYW1saW5nCi0gTmFtZVtwbF09 S29sZWtjamEgTXlTUUxlCi0gTmFtZVtwdF09Q29sZWPDp8OjbyBkZSBNeVNRTGUKLSBOYW1lW3B0 X0JSXT1Db2xlw6fDo28gTXlTUUxlCi0rTmFtZVtydV090JrQvtC70LvQtdC60YbQuNGPIE15U1FM ZQotIE5hbWVbc3JdPdCX0LHQuNGA0LrQsCDQvdCwINCc0LDRmNCh0JrRg9CbZeKAkdGDCi0gTmFt ZVtzckBsYXRpbl09WmJpcmthIG5hIE15U1FMZeKAkXUKLSBOYW1lW3N2XT1NeVNRTC1zYW1saW5n Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbGxlY3Rpb24vbXlzcWxzZXJ2ZXJjb2xsZWN0aW9uL2FtYXJv a19jb2xsZWN0aW9uLW15c3Fsc2VydmVyY29sbGVjdGlvbi5kZXNrdG9wIGIvc3JjL2NvbGxlY3Rp b24vbXlzcWxzZXJ2ZXJjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLW15c3Fsc2VydmVyY29s bGVjdGlvbi5kZXNrdG9wCi1pbmRleCAzOTU3ZDY1Li5kMjcyNmQyIDEwMDY0NAotLS0tIGEvc3Jj L2NvbGxlY3Rpb24vbXlzcWxzZXJ2ZXJjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLW15c3Fs c2VydmVyY29sbGVjdGlvbi5kZXNrdG9wCi0rKysgYi9zcmMvY29sbGVjdGlvbi9teXNxbHNlcnZl cmNvbGxlY3Rpb24vYW1hcm9rX2NvbGxlY3Rpb24tbXlzcWxzZXJ2ZXJjb2xsZWN0aW9uLmRlc2t0 b3AKLUBAIC0xOCw2ICsxOCw3IEBAIE5hbWVbbm5dPU15U1FMU2VydmVyLXNhbWxpbmcKLSBOYW1l W3BsXT1Lb2xla2NqYSBNeVNRTFNlcnZlcgotIE5hbWVbcHRdPUNvbGVjw6fDo28gZGUgTXlTUUwg KFNlcnZpZG9yKQotIE5hbWVbcHRfQlJdPUNvbGXDp8OjbyBNeVNRTFNlcnZlcgotK05hbWVbcnVd PdCa0L7Qu9C70LXQutGG0LjRjyBNeVNRTFNlcnZlcgotIE5hbWVbc3JdPdCX0LHQuNGA0LrQsCDQ vdCwINGB0LXRgNCy0LXRgNGDINCc0LDRmNCh0JrRg9Cb4oCR0LAKLSBOYW1lW3NyQGxhdGluXT1a Ymlya2EgbmEgc2VydmVydSBNeVNRTOKAkWEKLSBOYW1lW3N2XT1NeVNRTFNlcnZlci1zYW1saW5n Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbGxlY3Rpb24vc3FsY29sbGVjdGlvbi9TY2FuUmVzdWx0UHJv Y2Vzc29yLmNwcCBiL3NyYy9jb2xsZWN0aW9uL3NxbGNvbGxlY3Rpb24vU2NhblJlc3VsdFByb2Nl c3Nvci5jcHAKLWluZGV4IGRjYzQ1ZjguLmM5Njk0ZjQgMTAwNjQ0Ci0tLS0gYS9zcmMvY29sbGVj dGlvbi9zcWxjb2xsZWN0aW9uL1NjYW5SZXN1bHRQcm9jZXNzb3IuY3BwCi0rKysgYi9zcmMvY29s bGVjdGlvbi9zcWxjb2xsZWN0aW9uL1NjYW5SZXN1bHRQcm9jZXNzb3IuY3BwCi1AQCAtMTE0LDcg KzExNCw3IEBAIFNjYW5SZXN1bHRQcm9jZXNzb3I6OmRvbmVXaXRoSW1hZ2VzKCkKLSAgICAgICAg IGlmKCBrZXkuZmlyc3QuaXNFbXB0eSgpIHx8IGtleS5zZWNvbmQuaXNFbXB0eSgpICkKLSAgICAg ICAgICAgICBjb250aW51ZTsKLSAKLS0gICAgICAgIGludCBhcnRpc3QgPSBhcnRpc3RJZCgga2V5 LmZpcnN0ICk7Ci0rICAgICAgICBpbnQgYXJ0aXN0ID0gZ2VuZXJpY0lkKCAiYXJ0aXN0cyIsIGtl eS5maXJzdCApOwotICAgICAgICAgaW50IGFsYnVtICA9IGFsYnVtSWQoIGtleS5zZWNvbmQsIGFy dGlzdCApOwotIAotICAgICAgICAgLy8gV2lsbCBhdXRvbWF0aWNhbGx5IGFkZCB0aGUgaW1hZ2Ug cGF0aCB0byB0aGUgZGF0YWJhc2UgaWYgbmVlZGVkCi1AQCAtMjYxLDcgKzI2MSw3IEBAIFNjYW5S ZXN1bHRQcm9jZXNzb3I6OnByb2Nlc3NEaXJlY3RvcnkoIGNvbnN0IFFMaXN0PFFWYXJpYW50TWFw ID4gJmRhdGEgKQotICAgICB7Ci0gICAgICAgICBmb3JlYWNoKCBjb25zdCBRVmFyaWFudE1hcCAm cm93LCBkYXRhICkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBpbnQgYXJ0aXN0ID0gYXJ0aXN0 SWQoIHJvdy52YWx1ZSggRmllbGQ6OkFSVElTVCApLnRvU3RyaW5nKCkgKTsKLSsgICAgICAgICAg ICBpbnQgYXJ0aXN0ID0gZ2VuZXJpY0lkKCAiYXJ0aXN0cyIsIHJvdy52YWx1ZSggRmllbGQ6OkFS VElTVCApLnRvU3RyaW5nKCkgKTsKLSAgICAgICAgICAgICBhZGRUcmFjayggcm93LCBhcnRpc3Qg KTsKLSAgICAgICAgIH0KLSAgICAgfQotQEAgLTI2OSw3ICsyNjksNyBAQCBTY2FuUmVzdWx0UHJv Y2Vzc29yOjpwcm9jZXNzRGlyZWN0b3J5KCBjb25zdCBRTGlzdDxRVmFyaWFudE1hcCA+ICZkYXRh ICkKLSAgICAgewotICAgICAgICAgUVN0cmluZyBhbGJ1bUFydGlzdCA9IGZpbmRBbGJ1bUFydGlz dCggYXJ0aXN0cywgZGF0YS5jb3VudCgpICk7Ci0gICAgICAgICAvL2FuIGVtcHR5IHN0cmluZyBt ZWFucyB0aGF0IG5vIGFsYnVtYXJ0aXN0IHdhcyBmb3VuZAotLSAgICAgICAgaW50IGFydGlzdCA9 IGFsYnVtQXJ0aXN0LmlzRW1wdHkoKSA/IDAgOiBhcnRpc3RJZCggYWxidW1BcnRpc3QgKTsKLSsg ICAgICAgIGludCBhcnRpc3QgPSBhbGJ1bUFydGlzdC5pc0VtcHR5KCkgPyAwIDogZ2VuZXJpY0lk KCAiYXJ0aXN0cyIsIGFsYnVtQXJ0aXN0ICk7Ci0gCi0gICAgICAgICBkZWJ1ZygpIDw8ICJhbGJ1 bWFydGlzdCAiIDw8IGFsYnVtQXJ0aXN0IDw8ICJmb3IgYXJ0aXN0cyIgPDwgYXJ0aXN0czsKLSAg ICAgICAgIGZvcmVhY2goIGNvbnN0IFFWYXJpYW50TWFwICZyb3csIGRhdGEgKQotQEAgLTM4Mywz NyArMzgzLDIzIEBAIFNjYW5SZXN1bHRQcm9jZXNzb3I6OmFkZFRyYWNrKCBjb25zdCBRVmFyaWFu dE1hcCAmdHJhY2tEYXRhLCBpbnQgYWxidW1BcnRpc3RJZCApCi0gICAgIH0KLSAKLSAgICAgaWYo IGRpci5jb3VudCgpID09IDEgKQotLSAgICB7Ci0gICAgICAgICBjb21waWxhdGlvbklkID0gY2hl Y2tFeGlzdGluZ0FsYnVtcyggYWxidW1OYW1lICk7Ci0tICAgIH0KLSAKLS0gICAgaWYoIDAgPT0g Y29tcGlsYXRpb25JZCApCi0tICAgIHsKLS0gICAgICAgIGFsYnVtID0gYWxidW1JZCggYWxidW1O YW1lLCBhbGJ1bUFydGlzdElkICk7Ci0tICAgIH0KLSsgICAgLy9ydW4gYSBzaW5nbGUgcXVlcnkg dG8gZmV0Y2ggdGhlc2UgYXQgb25jZSwgdG8gc2F2ZSB0aW1lCi0rICAgIC8vdGhlbiB2YWx1ZXMg d2lsbCBiZSBjYWNoZWQgaW4gbG9jYWwgbWFwcywgc28gY2FuIHVzZSB0aGUgc2FtZSBjYWxscyBi ZWxvdwotKyAgICBkYXRhYmFzZUlkRmV0Y2goIHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OkFSVElT VCApLnRvU3RyaW5nKCksCi0rICAgICAgICAgICAgICAgICAgICAgdHJhY2tEYXRhLnZhbHVlKCBG aWVsZDo6R0VOUkUgKS50b1N0cmluZygpLAotKyAgICAgICAgICAgICAgICAgICAgIHRyYWNrRGF0 YS52YWx1ZSggRmllbGQ6OkNPTVBPU0VSICkudG9TdHJpbmcoKSwKLSsgICAgICAgICAgICAgICAg ICAgICB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpZRUFSICkudG9TdHJpbmcoKSwKLSsgICAgICAg ICAgICAgICAgICAgICBhbGJ1bU5hbWUsIGFsYnVtQXJ0aXN0SWQsIGNvbXBpbGF0aW9uSWQgKTsK LSAKLS0gICAgYm9vbCBuZWVkVG9RdWVyeSA9IGZhbHNlOwotLSAgICBpZiggIW1fYXJ0aXN0cy5j b250YWlucyggdHJhY2tEYXRhLnZhbHVlKCBGaWVsZDo6QVJUSVNUICkudG9TdHJpbmcoKSApIHx8 Ci0tICAgICAgICAhbV9nZW5yZS5jb250YWlucyggdHJhY2tEYXRhLnZhbHVlKCBGaWVsZDo6R0VO UkUgKS50b1N0cmluZygpICkgIHx8Ci0tICAgICAgICAhbV9jb21wb3Nlci5jb250YWlucyggdHJh Y2tEYXRhLnZhbHVlKCBGaWVsZDo6Q09NUE9TRVIgKS50b1N0cmluZygpICkgfHwKLS0gICAgICAg ICFtX3llYXIuY29udGFpbnMoIHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OllFQVIgKS50b1N0cmlu ZygpICkgKQotLSAgICAgICAgICAgIG5lZWRUb1F1ZXJ5ID0gdHJ1ZTsKLSsgICAgaW50IGFydGlz dCA9IGdlbmVyaWNJZCggImFydGlzdHMiLCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpBUlRJU1Qg KS50b1N0cmluZygpICk7Ci0rICAgIGludCBnZW5yZSA9IGdlbmVyaWNJZCggImdlbnJlcyIsIHRy YWNrRGF0YS52YWx1ZSggRmllbGQ6OkdFTlJFICkudG9TdHJpbmcoKSApOwotKyAgICBpbnQgY29t cG9zZXIgPSBnZW5lcmljSWQoICJjb21wb3NlcnMiLCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpD T01QT1NFUiApLnRvU3RyaW5nKCkgKTsKLSsgICAgaW50IHllYXIgPSBnZW5lcmljSWQoICJ5ZWFy cyIsIHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OllFQVIgKS50b1N0cmluZygpICk7Ci0gCi0tICAg IGlmKCBuZWVkVG9RdWVyeSApCi0tICAgIHsKLS0gICAgICAgIC8vcnVuIGEgc2luZ2xlIHF1ZXJ5 IHRvIGZldGNoIHRoZXNlIGF0IG9uY2UsIHRvIHNhdmUgdGltZQotLSAgICAgICAgLy90aGVuIHZh bHVlcyB3aWxsIGJlIGNhY2hlZCBpbiBsb2NhbCBtYXBzLCBzbyBjYW4gdXNlIHRoZSBzYW1lIGNh bGxzIGJlbG93Ci0tICAgICAgICBkYXRhYmFzZUlkRmV0Y2goIHRyYWNrRGF0YS52YWx1ZSggRmll bGQ6OkFSVElTVCApLnRvU3RyaW5nKCksCi0tICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNr RGF0YS52YWx1ZSggRmllbGQ6OkdFTlJFICkudG9TdHJpbmcoKSwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgdHJhY2tEYXRhLnZhbHVlKCBGaWVsZDo6Q09NUE9TRVIgKS50b1N0cmluZygpLAot LSAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpZRUFSICku dG9TdHJpbmcoKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgYWxidW1OYW1lLCBhbGJ1bUFy dGlzdElkICk7Ci0tICAgIH0KLS0KLS0gICAgaW50IGFydGlzdCA9IGFydGlzdElkKCB0cmFja0Rh dGEudmFsdWUoIEZpZWxkOjpBUlRJU1QgKS50b1N0cmluZygpICk7Ci0tICAgIGludCBnZW5yZSA9 IGdlbnJlSWQoIHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OkdFTlJFICkudG9TdHJpbmcoKSApOwot LSAgICBpbnQgY29tcG9zZXIgPSBjb21wb3NlcklkKCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpD T01QT1NFUiApLnRvU3RyaW5nKCkgKTsKLS0gICAgaW50IHllYXIgPSB5ZWFySWQoIHRyYWNrRGF0 YS52YWx1ZSggRmllbGQ6OllFQVIgKS50b1N0cmluZygpICk7Ci0rICAgIGlmKCAhY29tcGlsYXRp b25JZCApCi0rICAgICAgICBhbGJ1bSA9IGFsYnVtSWQoIGFsYnVtTmFtZSwgYWxidW1BcnRpc3RJ ZCApOwotIAotICAgICBRU3RyaW5nIHVpZCA9IHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OlVOSVFV RUlEICkudG9TdHJpbmcoKTsKLSAKLUBAIC00NzMsMTMxICs0NTksODYgQEAgU2NhblJlc3VsdFBy b2Nlc3Nvcjo6YWRkVHJhY2soIGNvbnN0IFFWYXJpYW50TWFwICZ0cmFja0RhdGEsIGludCBhbGJ1 bUFydGlzdElkICkKLSB9Ci0gCi0gaW50Ci0tU2NhblJlc3VsdFByb2Nlc3Nvcjo6YXJ0aXN0SWQo IGNvbnN0IFFTdHJpbmcgJmFydGlzdCApCi0rU2NhblJlc3VsdFByb2Nlc3Nvcjo6Z2VuZXJpY0lk KCBjb25zdCBRU3RyaW5nICZrZXksIGNvbnN0IFFTdHJpbmcgJnZhbHVlICkKLSB7Ci0tICAgIGlm KCBtX2FydGlzdHMuY29udGFpbnMoIGFydGlzdCApICkKLS0gICAgICAgIHJldHVybiBtX2FydGlz dHMudmFsdWUoIGFydGlzdCApOwotLSAgICBRU3RyaW5nIHF1ZXJ5ID0gUVN0cmluZyggIlNFTEVD VCBpZCBGUk9NIGFydGlzdHNfdGVtcCBXSEVSRSBuYW1lID0gJyUxJzsiICkuYXJnKCBtX2NvbGxl Y3Rpb24tPmVzY2FwZSggYXJ0aXN0ICkgKTsKLS0gICAgUVN0cmluZ0xpc3QgcmVzID0gbV9jb2xs ZWN0aW9uLT5xdWVyeSggcXVlcnkgKTsKLS0gICAgaW50IGlkID0gMDsKLS0gICAgaWYoIHJlcy5p c0VtcHR5KCkgKQotLSAgICAgICAgaWQgPSBhcnRpc3RJbnNlcnQoIGFydGlzdCApOwotKyAgICBR TWFwPFFTdHJpbmcsIGludD4gKmN1cnJNYXA7Ci0rICAgIGlmKCBrZXkgPT0gImFydGlzdHMiICkK LSsgICAgICAgIGN1cnJNYXAgPSAmbV9hcnRpc3RzOwotKyAgICBlbHNlIGlmKCBrZXkgPT0gImdl bnJlcyIgKQotKyAgICAgICAgY3Vyck1hcCA9ICZtX2dlbnJlczsKLSsgICAgZWxzZSBpZigga2V5 ID09ICJ5ZWFycyIgKQotKyAgICAgICAgY3Vyck1hcCA9ICZtX3llYXJzOwotKyAgICBlbHNlIGlm KCBrZXkgPT0gImNvbXBvc2VycyIgKQotKyAgICAgICAgY3Vyck1hcCA9ICZtX2NvbXBvc2VyczsK LSAgICAgZWxzZQotLSAgICAgICAgaWQgPSByZXNbMF0udG9JbnQoKTsKLS0gICAgbV9hcnRpc3Rz Lmluc2VydCggYXJ0aXN0LCBpZCApOwotLSAgICByZXR1cm4gaWQ7Ci0tfQotLQotLWludAotLVNj YW5SZXN1bHRQcm9jZXNzb3I6OmFydGlzdEluc2VydCggY29uc3QgUVN0cmluZyAmYXJ0aXN0ICkK LS17Ci0tICAgIFFTdHJpbmcgaW5zZXJ0ID0gUVN0cmluZyggIklOU0VSVCBJTlRPIGFydGlzdHNf dGVtcCggbmFtZSApIFZBTFVFUyAoJyUxJyk7IiApLmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUo IGFydGlzdCApICk7Ci0tICAgIGludCBpZCA9IG1fY29sbGVjdGlvbi0+aW5zZXJ0KCBpbnNlcnQs ICJhcnRpc3RzX3RlbXAiICk7Ci0tICAgIHJldHVybiBpZDsKLS19Ci0tCi0taW50Ci0tU2NhblJl c3VsdFByb2Nlc3Nvcjo6Z2VucmVJZCggY29uc3QgUVN0cmluZyAmZ2VucmUgKQotLXsKLS0gICAg aWYoIG1fZ2VucmUuY29udGFpbnMoIGdlbnJlICkgKQotLSAgICAgICAgcmV0dXJuIG1fZ2VucmUu dmFsdWUoIGdlbnJlICk7Ci0tICAgIFFTdHJpbmcgcXVlcnkgPSBRU3RyaW5nKCAiU0VMRUNUIGlk IEZST00gZ2VucmVzX3RlbXAgV0hFUkUgbmFtZSA9ICclMSc7IiApLmFyZyggbV9jb2xsZWN0aW9u LT5lc2NhcGUoIGdlbnJlICkgKTsKLS0gICAgUVN0cmluZ0xpc3QgcmVzID0gbV9jb2xsZWN0aW9u LT5xdWVyeSggcXVlcnkgKTsKLS0gICAgaW50IGlkID0gMDsKLS0gICAgaWYoIHJlcy5pc0VtcHR5 KCkgKQotLSAgICAgICAgaWQgPSBnZW5yZUluc2VydCggZ2VucmUgKTsKLS0gICAgZWxzZQotLSAg ICAgICAgaWQgPSByZXNbMF0udG9JbnQoKTsKLS0gICAgbV9nZW5yZS5pbnNlcnQoIGdlbnJlLCBp ZCApOwotLSAgICByZXR1cm4gaWQ7Ci0tfQotLQotLWludAotLVNjYW5SZXN1bHRQcm9jZXNzb3I6 OmdlbnJlSW5zZXJ0KCBjb25zdCBRU3RyaW5nICZnZW5yZSApCi0tewotLSAgICBRU3RyaW5nIGlu c2VydCA9IFFTdHJpbmcoICJJTlNFUlQgSU5UTyBnZW5yZXNfdGVtcCggbmFtZSApIFZBTFVFUyAo JyUxJyk7IiApLmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUoIGdlbnJlICkgKTsKLS0gICAgaW50 IGlkID0gbV9jb2xsZWN0aW9uLT5pbnNlcnQoIGluc2VydCwgImdlbnJlc190ZW1wIiApOwotLSAg ICByZXR1cm4gaWQ7Ci0tfQotLQotLWludAotLVNjYW5SZXN1bHRQcm9jZXNzb3I6OmNvbXBvc2Vy SWQoIGNvbnN0IFFTdHJpbmcgJmNvbXBvc2VyICkKLS17Ci0tICAgIGlmKCBtX2NvbXBvc2VyLmNv bnRhaW5zKCBjb21wb3NlciApICkKLS0gICAgICAgIHJldHVybiBtX2NvbXBvc2VyLnZhbHVlKCBj b21wb3NlciApOwotLSAgICBRU3RyaW5nIHF1ZXJ5ID0gUVN0cmluZyggIlNFTEVDVCBpZCBGUk9N IGNvbXBvc2Vyc190ZW1wIFdIRVJFIG5hbWUgPSAnJTEnOyIgKS5hcmcoIG1fY29sbGVjdGlvbi0+ ZXNjYXBlKCBjb21wb3NlciApICk7Ci0tICAgIFFTdHJpbmdMaXN0IHJlcyA9IG1fY29sbGVjdGlv bi0+cXVlcnkoIHF1ZXJ5ICk7Ci0tICAgIGludCBpZCA9IDA7Ci0tICAgIGlmKCByZXMuaXNFbXB0 eSgpICkKLS0gICAgICAgIGlkID0gY29tcG9zZXJJbnNlcnQoIGNvbXBvc2VyICk7Ci0tICAgIGVs c2UKLS0gICAgICAgIGlkID0gcmVzWzBdLnRvSW50KCk7Ci0tICAgIG1fY29tcG9zZXIuaW5zZXJ0 KCBjb21wb3NlciwgaWQgKTsKLS0gICAgcmV0dXJuIGlkOwotLX0KLSsgICAgewotKyAgICAgICAg ZGVidWcoKSA8PCAiSG9seSBoZWxsIEJhdG1hbiwgd2hhdCBqdXN0IGhhcHBlbmVkIGluIGdlbmVy aWNJZD8iOwotKyAgICAgICAgcmV0dXJuIC05OTk5OwotKyAgICB9Ci0gCi0taW50Ci0tU2NhblJl c3VsdFByb2Nlc3Nvcjo6Y29tcG9zZXJJbnNlcnQoIGNvbnN0IFFTdHJpbmcgJmNvbXBvc2VyICkK LS17Ci0tICAgIFFTdHJpbmcgaW5zZXJ0ID0gUVN0cmluZyggIklOU0VSVCBJTlRPIGNvbXBvc2Vy c190ZW1wKCBuYW1lICkgVkFMVUVTICgnJTEnKTsiICkuYXJnKCBtX2NvbGxlY3Rpb24tPmVzY2Fw ZSggY29tcG9zZXIgKSApOwotLSAgICBpbnQgaWQgPSBtX2NvbGxlY3Rpb24tPmluc2VydCggaW5z ZXJ0LCAiY29tcG9zZXJzX3RlbXAiICk7Ci0tICAgIHJldHVybiBpZDsKLS19Ci0rICAgIGlmKCBj dXJyTWFwLT5jb250YWlucyggdmFsdWUgKSApCi0rICAgICAgICByZXR1cm4gY3Vyck1hcC0+dmFs dWUoIHZhbHVlICk7Ci0gCi0taW50Ci0tU2NhblJlc3VsdFByb2Nlc3Nvcjo6eWVhcklkKCBjb25z dCBRU3RyaW5nICZ5ZWFyICkKLS17Ci0tICAgIGlmKCBtX3llYXIuY29udGFpbnMoIHllYXIgKSAp Ci0tICAgICAgICByZXR1cm4gbV95ZWFyLnZhbHVlKCB5ZWFyICk7Ci0tICAgIFFTdHJpbmcgcXVl cnkgPSBRU3RyaW5nKCAiU0VMRUNUIGlkIEZST00geWVhcnNfdGVtcCBXSEVSRSBuYW1lID0gJyUx JzsiICkuYXJnKCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggeWVhciApICk7Ci0rICAgIFFTdHJpbmcg cXVlcnkgPSBRU3RyaW5nKCAiU0VMRUNUIGlkIEZST00gJTFfdGVtcCBXSEVSRSBuYW1lID0gJyUy JzsiICkuYXJnKCBrZXksIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCB2YWx1ZSApICk7Ci0gICAgIFFT dHJpbmdMaXN0IHJlcyA9IG1fY29sbGVjdGlvbi0+cXVlcnkoIHF1ZXJ5ICk7Ci0gICAgIGludCBp ZCA9IDA7Ci0gICAgIGlmKCByZXMuaXNFbXB0eSgpICkKLS0gICAgICAgIGlkID0geWVhckluc2Vy dCggeWVhciApOwotKyAgICAgICAgaWQgPSBnZW5lcmljSW5zZXJ0KCBrZXksIHZhbHVlICk7Ci0g ICAgIGVsc2UKLSAgICAgICAgIGlkID0gcmVzWzBdLnRvSW50KCk7Ci0tICAgIG1feWVhci5pbnNl cnQoIHllYXIsIGlkICk7Ci0rICAgIGN1cnJNYXAtPmluc2VydCggdmFsdWUsIGlkICk7Ci0gICAg IHJldHVybiBpZDsKLSB9Ci0gCi0gaW50Ci0tU2NhblJlc3VsdFByb2Nlc3Nvcjo6eWVhckluc2Vy dCggY29uc3QgUVN0cmluZyAmeWVhciApCi0rU2NhblJlc3VsdFByb2Nlc3Nvcjo6Z2VuZXJpY0lu c2VydCggY29uc3QgUVN0cmluZyAma2V5LCBjb25zdCBRU3RyaW5nICZ2YWx1ZSApCi0gewotLSAg ICBRU3RyaW5nIGluc2VydCA9IFFTdHJpbmcoICJJTlNFUlQgSU5UTyB5ZWFyc190ZW1wKCBuYW1l ICkgVkFMVUVTICgnJTEnKTsiICkuYXJnKCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggeWVhciApICk7 Ci0tICAgIGludCBpZCA9IG1fY29sbGVjdGlvbi0+aW5zZXJ0KCBpbnNlcnQsICJ5ZWFyc190ZW1w IiApOwotKyAgICBRU3RyaW5nIGluc2VydCA9IFFTdHJpbmcoICJJTlNFUlQgSU5UTyAlMV90ZW1w KCBuYW1lICkgVkFMVUVTICgnJTInKTsiICkuYXJnKCBrZXksIG1fY29sbGVjdGlvbi0+ZXNjYXBl KCB2YWx1ZSApICk7Ci0rICAgIGludCBpZCA9IG1fY29sbGVjdGlvbi0+aW5zZXJ0KCBpbnNlcnQs IFFTdHJpbmcoICIlMV90ZW1wIiApLmFyZygga2V5ICkgKTsKLSAgICAgcmV0dXJuIGlkOwotIH0K LSAKLSB2b2lkCi0tU2NhblJlc3VsdFByb2Nlc3Nvcjo6ZGF0YWJhc2VJZEZldGNoKCBjb25zdCBR U3RyaW5nICZhcnRpc3QsIGNvbnN0IFFTdHJpbmcgJmdlbnJlLCBjb25zdCBRU3RyaW5nICZjb21w b3NlciwgY29uc3QgUVN0cmluZyAmeWVhciwgY29uc3QgUVN0cmluZyAmYWxidW0sIGludCBhbGJ1 bUFydGlzdElkICkKLStTY2FuUmVzdWx0UHJvY2Vzc29yOjpkYXRhYmFzZUlkRmV0Y2goIGNvbnN0 IFFTdHJpbmcgJmFydGlzdCwgY29uc3QgUVN0cmluZyAmZ2VucmUsIGNvbnN0IFFTdHJpbmcgJmNv bXBvc2VyLCBjb25zdCBRU3RyaW5nICZ5ZWFyLCBjb25zdCBRU3RyaW5nICZhbGJ1bSwgaW50IGFs YnVtQXJ0aXN0SWQsIGludCBjb21waWxhdGlvbklkICkKLSB7Ci0gICAgIC8vREVCVUdfQkxPQ0sK LS0gICAgUV9VTlVTRUQoIGFsYnVtICk7Ci0tICAgIFFfVU5VU0VEKCBhbGJ1bUFydGlzdElkICk7 Ci0rICAgIFFQYWlyPFFTdHJpbmcsIGludD4gYWxidW1LZXkoIGFsYnVtLCBhbGJ1bUFydGlzdElk ICk7Ci0rICAgIGJvb2wgYWxidW1Gb3VuZCA9IGNvbXBpbGF0aW9uSWQgfHwgbV9hbGJ1bXMuY29u dGFpbnMoIGFsYnVtS2V5ICk7Ci0rICAgIGJvb2wgYXJ0aXN0Rm91bmQgPSBtX2FydGlzdHMuY29u dGFpbnMoIGFydGlzdCApOwotKyAgICBib29sIGdlbnJlRm91bmQgPSBtX2dlbnJlcy5jb250YWlu cyggZ2VucmUgKTsKLSsgICAgYm9vbCBjb21wb3NlckZvdW5kID0gbV9jb21wb3NlcnMuY29udGFp bnMoIGNvbXBvc2VyICk7Ci0rICAgIGJvb2wgeWVhckZvdW5kID0gbV95ZWFycy5jb250YWlucygg eWVhciApOwotKwotKyAgICBpZiggYWxidW1Gb3VuZCAmJiBhcnRpc3RGb3VuZCAmJiBnZW5yZUZv dW5kICYmIGNvbXBvc2VyRm91bmQgJiYgeWVhckZvdW5kICkKLSsgICAgICAgIHJldHVybjsgLy9u b3RoaW5nIHRvIGRvCi0rCi0gICAgIGludCBsID0gMDsgLy9hbGJ1bQotLSAgICBib29sIGFsYnVt Rm91bmQgPSBmYWxzZTsKLSAgICAgaW50IGEgPSAwOyAvL2FydGlzdAotLSAgICBib29sIGFydGlz dEZvdW5kID0gZmFsc2U7Ci0gICAgIGludCBnID0gMDsgLy9nZW5yZQotLSAgICBib29sIGdlbnJl Rm91bmQgPSBmYWxzZTsKLSAgICAgaW50IGMgPSAwOyAvL2NvbXBvc2VyCi0tICAgIGJvb2wgY29t cG9zZXJGb3VuZCA9IGZhbHNlOwotICAgICBpbnQgeSA9IDA7IC8veWVhcgotLSAgICBib29sIHll YXJGb3VuZCA9IGZhbHNlOwotIAotICAgICBRU3RyaW5nIHF1ZXJ5OwotLS8qCi0tICAgIGlmKCBh bGJ1bUFydGlzdElkID09IDAgKQotLSAgICAgICAgcXVlcnkgKz0gUVN0cmluZyggIlNFTEVDVCBp ZCwgQ09OQ0FUKCdBTEJVTU5BTUVfJywgbmFtZSkgQVMgbmFtZSBGUk9NIGFsYnVtc190ZW1wIFdI RVJFIGFydGlzdCBJUyBOVUxMIEFORCBuYW1lID0gJyUxJyAiICkKLS0gICAgICAgICAgICAgICAg ICAgIC5hcmcoIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCBhbGJ1bSApICk7Ci0tICAgIGVsc2UKLS0g ICAgICAgIHF1ZXJ5ICs9IFFTdHJpbmcoICJTRUxFQ1QgaWQsIENPTkNBVCgnQUxCVU1OQU1FXycs IG5hbWUpIEFTIG5hbWUgRlJPTSBhbGJ1bXNfdGVtcCBXSEVSRSBhcnRpc3QgPSAlMSBBTkQgbmFt ZSA9ICclMicgIiApCi0tICAgICAgICAgICAgICAgICAgICAgICAgLmFyZyggUVN0cmluZzo6bnVt YmVyKCBhbGJ1bUFydGlzdElkICksIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCBhbGJ1bSApICk7Ci0t Ki8KLS0gICAgcXVlcnkgKz0gUVN0cmluZyggIlNFTEVDVCBpZCwgQ09OQ0FUKCdBUlRJU1ROQU1F XycsIG5hbWUpIEFTIG5hbWUgRlJPTSBhcnRpc3RzX3RlbXAgV0hFUkUgbmFtZSA9ICclMScgIiAp LmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUoIGFydGlzdCApICk7Ci0tICAgIHF1ZXJ5ICs9IFFT dHJpbmcoICJVTklPTiBBTEwgU0VMRUNUIGlkLCBDT05DQVQoJ0dFTlJFTkFNRV8nLCBuYW1lKSBB UyBuYW1lIEZST00gZ2VucmVzX3RlbXAgV0hFUkUgbmFtZSA9ICclMScgIiApLmFyZyggbV9jb2xs ZWN0aW9uLT5lc2NhcGUoIGdlbnJlICkgKTsKLS0gICAgcXVlcnkgKz0gUVN0cmluZyggIlVOSU9O IEFMTCBTRUxFQ1QgaWQsIENPTkNBVCgnQ09NUE9TRVJOQU1FXycsIG5hbWUpIEFTIG5hbWUgRlJP TSBjb21wb3NlcnNfdGVtcCBXSEVSRSBuYW1lID0gJyUxJyAiICkuYXJnKCBtX2NvbGxlY3Rpb24t PmVzY2FwZSggY29tcG9zZXIgKSApOwotLSAgICBxdWVyeSArPSBRU3RyaW5nKCAiVU5JT04gQUxM IFNFTEVDVCBpZCwgQ09OQ0FUKCdZRUFSU05BTUVfJywgbmFtZSkgQVMgbmFtZSBGUk9NIHllYXJz X3RlbXAgV0hFUkUgbmFtZSA9ICclMSc7IiApLmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUoIHll YXIgKSApOwotKyAgICBpZiggIWFsYnVtRm91bmQgKQotKyAgICB7Ci0rICAgICAgICBpZiggYWxi dW1BcnRpc3RJZCA9PSAwICkKLSsgICAgICAgICAgICBxdWVyeSArPSBRU3RyaW5nKCAiU0VMRUNU IGlkLCBDT05DQVQoJ0FMQlVNTkFNRV8nLCBuYW1lKSBBUyBuYW1lIEZST00gYWxidW1zX3RlbXAg V0hFUkUgYXJ0aXN0IElTIE5VTEwgQU5EIG5hbWUgPSAnJTEnICIgKQotKyAgICAgICAgICAgICAg ICAgICAgICAgIC5hcmcoIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCBhbGJ1bSApICk7Ci0rICAgICAg ICBlbHNlCi0rICAgICAgICAgICAgcXVlcnkgKz0gUVN0cmluZyggIlNFTEVDVCBpZCwgQ09OQ0FU KCdBTEJVTU5BTUVfJywgbmFtZSkgQVMgbmFtZSBGUk9NIGFsYnVtc190ZW1wIFdIRVJFIGFydGlz dCA9ICUxIEFORCBuYW1lID0gJyUyJyAiICkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg LmFyZyggUVN0cmluZzo6bnVtYmVyKCBhbGJ1bUFydGlzdElkICksIG1fY29sbGVjdGlvbi0+ZXNj YXBlKCBhbGJ1bSApICk7Ci0rICAgIH0KLSsgICAgaWYoICFhcnRpc3RGb3VuZCApCi0rICAgICAg ICBxdWVyeSArPSBRU3RyaW5nKCAiVU5JT04gQUxMIFNFTEVDVCBpZCwgQ09OQ0FUKCdBUlRJU1RO QU1FXycsIG5hbWUpIEFTIG5hbWUgRlJPTSBhcnRpc3RzX3RlbXAgV0hFUkUgbmFtZSA9ICclMScg IiApLmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUoIGFydGlzdCApICk7Ci0rICAgIGlmKCAhZ2Vu cmVGb3VuZCApCi0rICAgICAgICBxdWVyeSArPSBRU3RyaW5nKCAiVU5JT04gQUxMIFNFTEVDVCBp ZCwgQ09OQ0FUKCdHRU5SRU5BTUVfJywgbmFtZSkgQVMgbmFtZSBGUk9NIGdlbnJlc190ZW1wIFdI RVJFIG5hbWUgPSAnJTEnICIgKS5hcmcoIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCBnZW5yZSApICk7 Ci0rICAgIGlmKCAhY29tcG9zZXJGb3VuZCApCi0rICAgICAgICBxdWVyeSArPSBRU3RyaW5nKCAi VU5JT04gQUxMIFNFTEVDVCBpZCwgQ09OQ0FUKCdDT01QT1NFUk5BTUVfJywgbmFtZSkgQVMgbmFt ZSBGUk9NIGNvbXBvc2Vyc190ZW1wIFdIRVJFIG5hbWUgPSAnJTEnICIgKS5hcmcoIG1fY29sbGVj dGlvbi0+ZXNjYXBlKCBjb21wb3NlciApICk7Ci0rICAgIGlmKCAheWVhckZvdW5kICkKLSsgICAg ICAgIHF1ZXJ5ICs9IFFTdHJpbmcoICJVTklPTiBBTEwgU0VMRUNUIGlkLCBDT05DQVQoJ1lFQVJT TkFNRV8nLCBuYW1lKSBBUyBuYW1lIEZST00geWVhcnNfdGVtcCBXSEVSRSBuYW1lID0gJyUxJzsi ICkuYXJnKCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggeWVhciApICk7Ci0rICAgIGlmKCBxdWVyeS5z dGFydHNXaXRoKCAiVU5JT04gQUxMICIgKSApCi0rICAgICAgICBxdWVyeS5yZW1vdmUoIDAsIDEw ICk7Ci0rICAgICAgICAKLSAgICAgUVN0cmluZ0xpc3QgcmVzID0gbV9jb2xsZWN0aW9uLT5xdWVy eSggcXVlcnkgKTsKLSAgICAgaW50IGluZGV4ID0gMDsKLSAgICAgUVN0cmluZyBmaXJzdDsKLUBA IC02MDcsNTggKzU0OCw1NSBAQCBTY2FuUmVzdWx0UHJvY2Vzc29yOjpkYXRhYmFzZUlkRmV0Y2go IGNvbnN0IFFTdHJpbmcgJmFydGlzdCwgY29uc3QgUVN0cmluZyAmZ2VucgotICAgICAgICAgZmly c3QgPSByZXMuYXQoIGluZGV4KysgKTsKLSAgICAgICAgIHNlY29uZCA9IHJlcy5hdCggaW5kZXgr KyApOwotICAgICAgICAgICAgICBhID0gZmlyc3QudG9JbnQoKTsKLS0gICAgICAgIGlmKCBzZWNv bmQgPT0gUVN0cmluZyggIkFMQlVNTkFNRV8iICsgYWxidW0gKSApCi0rICAgICAgICBpZiggIWFs YnVtRm91bmQgJiYgc2Vjb25kID09IFFTdHJpbmcoICJBTEJVTU5BTUVfIiArIGFsYnVtICkgKQot ICAgICAgICAgewotICAgICAgICAgICAgIGwgPSBmaXJzdC50b0ludCgpOwotICAgICAgICAgICAg IGFsYnVtRm91bmQgPSB0cnVlOwotICAgICAgICAgfQotLSAgICAgICAgZWxzZSBpZiggc2Vjb25k ID09IFFTdHJpbmcoICJBUlRJU1ROQU1FXyIgKyBhcnRpc3QgKSApCi0rICAgICAgICBlbHNlIGlm KCAhYXJ0aXN0Rm91bmQgJiYgc2Vjb25kID09IFFTdHJpbmcoICJBUlRJU1ROQU1FXyIgKyBhcnRp c3QgKSApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgYSA9IGZpcnN0LnRvSW50KCk7Ci0gICAg ICAgICAgICAgYXJ0aXN0Rm91bmQgPSB0cnVlOwotICAgICAgICAgfQotLSAgICAgICAgZWxzZSBp Ziggc2Vjb25kID09IFFTdHJpbmcoICJHRU5SRU5BTUVfIiArIGdlbnJlICkgKQotKyAgICAgICAg ZWxzZSBpZiggIWdlbnJlRm91bmQgJiYgc2Vjb25kID09IFFTdHJpbmcoICJHRU5SRU5BTUVfIiAr IGdlbnJlICkgKQotICAgICAgICAgewotICAgICAgICAgICAgIGcgPSBmaXJzdC50b0ludCgpOwot ICAgICAgICAgICAgIGdlbnJlRm91bmQgPSB0cnVlOwotICAgICAgICAgfQotLSAgICAgICAgZWxz ZSBpZiggc2Vjb25kID09IFFTdHJpbmcoICJDT01QT1NFUk5BTUVfIiArIGNvbXBvc2VyICkgKQot KyAgICAgICAgZWxzZSBpZiggIWNvbXBvc2VyRm91bmQgJiYgc2Vjb25kID09IFFTdHJpbmcoICJD T01QT1NFUk5BTUVfIiArIGNvbXBvc2VyICkgKQotICAgICAgICAgewotICAgICAgICAgICAgIGMg PSBmaXJzdC50b0ludCgpOwotICAgICAgICAgICAgIGNvbXBvc2VyRm91bmQgPSB0cnVlOwotICAg ICAgICAgfQotLSAgICAgICAgZWxzZSBpZiggc2Vjb25kID09IFFTdHJpbmcoICJZRUFSU05BTUVf IiArIHllYXIgKSApCi0rICAgICAgICBlbHNlIGlmKCAheWVhckZvdW5kICYmIHNlY29uZCA9PSBR U3RyaW5nKCAiWUVBUlNOQU1FXyIgKyB5ZWFyICkgKQotICAgICAgICAgewotICAgICAgICAgICAg IHkgPSBmaXJzdC50b0ludCgpOwotICAgICAgICAgICAgIHllYXJGb3VuZCA9IHRydWU7Ci0gICAg ICAgICB9Ci0gICAgIH0KLS0gICAgLyoKLSAgICAgaWYoICFhbGJ1bUZvdW5kICkKLSAgICAgewot LSAgICAgICAgUVBhaXI8UVN0cmluZywgaW50PiBrZXkoIGFsYnVtLCBhbGJ1bUFydGlzdElkICk7 Ci0tICAgICAgICBtX2FsYnVtcy5pbnNlcnQoIGtleSwgYWxidW1JbnNlcnQoIGFsYnVtLCBhbGJ1 bUFydGlzdElkICkgKTsKLSsgICAgICAgIG1fYWxidW1zLmluc2VydCggYWxidW1LZXksIGFsYnVt SW5zZXJ0KCBhbGJ1bSwgYWxidW1BcnRpc3RJZCApICk7Ci0gICAgICAgICBhbGJ1bUZvdW5kID0g dHJ1ZTsKLSAgICAgfQotLSAgICAqLwotICAgICBpZiggIWFydGlzdEZvdW5kICkKLSAgICAgewot LSAgICAgICAgbV9hcnRpc3RzLmluc2VydCggYXJ0aXN0LCBhcnRpc3RJbnNlcnQoIGFydGlzdCAp ICk7Ci0rICAgICAgICBtX2FydGlzdHMuaW5zZXJ0KCBhcnRpc3QsIGdlbmVyaWNJbnNlcnQoICJh cnRpc3RzIiwgYXJ0aXN0ICkgKTsKLSAgICAgICAgIGFydGlzdEZvdW5kID0gdHJ1ZTsKLSAgICAg fQotICAgICBpZiggIWdlbnJlRm91bmQgKQotICAgICB7Ci0tICAgICAgICBtX2dlbnJlLmluc2Vy dCggZ2VucmUsIGdlbnJlSW5zZXJ0KCBnZW5yZSApICk7Ci0rICAgICAgICBtX2dlbnJlcy5pbnNl cnQoIGdlbnJlLCBnZW5lcmljSW5zZXJ0KCAiZ2VucmVzIiwgZ2VucmUgKSApOwotICAgICAgICAg Z2VucmVGb3VuZCA9IHRydWU7Ci0gICAgIH0KLSAgICAgaWYoICFjb21wb3NlckZvdW5kICkKLSAg ICAgewotLSAgICAgICAgbV9jb21wb3Nlci5pbnNlcnQoIGNvbXBvc2VyLCBjb21wb3Nlckluc2Vy dCggY29tcG9zZXIgKSApOwotKyAgICAgICAgbV9jb21wb3NlcnMuaW5zZXJ0KCBjb21wb3Nlciwg Z2VuZXJpY0luc2VydCggImNvbXBvc2VycyIsIGNvbXBvc2VyICkgKTsKLSAgICAgICAgIGNvbXBv c2VyRm91bmQgPSB0cnVlOwotICAgICB9Ci0gICAgIGlmKCAheWVhckZvdW5kICkKLSAgICAgewot LSAgICAgICAgbV95ZWFyLmluc2VydCggeWVhciwgeWVhckluc2VydCggeWVhciApICk7Ci0rICAg ICAgICBtX3llYXJzLmluc2VydCggeWVhciwgZ2VuZXJpY0luc2VydCggInllYXJzIiwgeWVhciAp ICk7Ci0gICAgICAgICB5ZWFyRm91bmQgPSB0cnVlOwotICAgICB9Ci0gfQotZGlmZiAtLWdpdCBh L3NyYy9jb2xsZWN0aW9uL3NxbGNvbGxlY3Rpb24vU2NhblJlc3VsdFByb2Nlc3Nvci5oIGIvc3Jj L2NvbGxlY3Rpb24vc3FsY29sbGVjdGlvbi9TY2FuUmVzdWx0UHJvY2Vzc29yLmgKLWluZGV4IGZm ZmM5ZTcuLjQ5YzJiOGIgMTAwNjQ0Ci0tLS0gYS9zcmMvY29sbGVjdGlvbi9zcWxjb2xsZWN0aW9u L1NjYW5SZXN1bHRQcm9jZXNzb3IuaAotKysrIGIvc3JjL2NvbGxlY3Rpb24vc3FsY29sbGVjdGlv bi9TY2FuUmVzdWx0UHJvY2Vzc29yLmgKLUBAIC01OCwxNSArNTgsOSBAQCBjbGFzcyBTY2FuUmVz dWx0UHJvY2Vzc29yIDogcHVibGljIFFPYmplY3QKLSAgICAgcHJpdmF0ZToKLSAgICAgICAgIHZv aWQgYWRkVHJhY2soIGNvbnN0IFFWYXJpYW50TWFwICZ0cmFja0RhdGEsIGludCBhbGJ1bUFydGlz dElkICk7Ci0gCi0tICAgICAgICBpbnQgYXJ0aXN0SWQoIGNvbnN0IFFTdHJpbmcgJmFydGlzdCAp OwotLSAgICAgICAgaW50IGFydGlzdEluc2VydCggY29uc3QgUVN0cmluZyAmYXJ0aXN0ICk7Ci0t ICAgICAgICBpbnQgZ2VucmVJZCggY29uc3QgUVN0cmluZyAmZ2VucmUgKTsKLS0gICAgICAgIGlu dCBnZW5yZUluc2VydCggY29uc3QgUVN0cmluZyAmZ2VucmUgKTsKLS0gICAgICAgIGludCBjb21w b3NlcklkKCBjb25zdCBRU3RyaW5nICZjb21wb3NlciApOwotLSAgICAgICAgaW50IGNvbXBvc2Vy SW5zZXJ0KCBjb25zdCBRU3RyaW5nICZjb21wb3NlciApOwotLSAgICAgICAgaW50IHllYXJJZCgg Y29uc3QgUVN0cmluZyAmeWVhciApOwotLSAgICAgICAgaW50IHllYXJJbnNlcnQoIGNvbnN0IFFT dHJpbmcgJnllYXIgKTsKLS0gICAgICAgIHZvaWQgZGF0YWJhc2VJZEZldGNoKCBjb25zdCBRU3Ry aW5nICZhcnRpc3QsIGNvbnN0IFFTdHJpbmcgJmdlbnJlLCBjb25zdCBRU3RyaW5nICZjb21wb3Nl ciwgY29uc3QgUVN0cmluZyAmeWVhciwgY29uc3QgUVN0cmluZyAmYWxidW0sIGludCBhbGJ1bUFy dGlzdElkICk7Ci0rICAgICAgICBpbnQgZ2VuZXJpY0lkKCBjb25zdCBRU3RyaW5nICZrZXksIGNv bnN0IFFTdHJpbmcgJnZhbHVlICk7Ci0rICAgICAgICBpbnQgZ2VuZXJpY0luc2VydCggY29uc3Qg UVN0cmluZyAma2V5LCBjb25zdCBRU3RyaW5nICZ2YWx1ZSApOwotKyAgICAgICAgdm9pZCBkYXRh YmFzZUlkRmV0Y2goIGNvbnN0IFFTdHJpbmcgJmFydGlzdCwgY29uc3QgUVN0cmluZyAmZ2VucmUs IGNvbnN0IFFTdHJpbmcgJmNvbXBvc2VyLCBjb25zdCBRU3RyaW5nICZ5ZWFyLCBjb25zdCBRU3Ry aW5nICZhbGJ1bSwgaW50IGFsYnVtQXJ0aXN0SWQsIGludCBjb21waWxhdGlvbklkICk7Ci0gICAg ICAgICBpbnQgaW1hZ2VJZCggY29uc3QgUVN0cmluZyAmaW1hZ2UsIGludCBhbGJ1bUlkICk7Ci0g ICAgICAgICBpbnQgYWxidW1JZCggY29uc3QgUVN0cmluZyAmYWxidW0sIGludCBhcnRpc3RJZCAp OwotICAgICAgICAgaW50IGFsYnVtSW5zZXJ0KCBjb25zdCBRU3RyaW5nICZhbGJ1bSwgaW50IGFy dGlzdElkICk7Ci1AQCAtOTAsOSArODQsOSBAQCBjbGFzcyBTY2FuUmVzdWx0UHJvY2Vzc29yIDog cHVibGljIFFPYmplY3QKLSAgICAgICAgIGJvb2wgbV9zZXR1cENvbXBsZXRlOwotIAotICAgICAg ICAgUU1hcDxRU3RyaW5nLCBpbnQ+IG1fYXJ0aXN0czsKLS0gICAgICAgIFFNYXA8UVN0cmluZywg aW50PiBtX2dlbnJlOwotLSAgICAgICAgUU1hcDxRU3RyaW5nLCBpbnQ+IG1feWVhcjsKLS0gICAg ICAgIFFNYXA8UVN0cmluZywgaW50PiBtX2NvbXBvc2VyOwotKyAgICAgICAgUU1hcDxRU3RyaW5n LCBpbnQ+IG1fZ2VucmVzOwotKyAgICAgICAgUU1hcDxRU3RyaW5nLCBpbnQ+IG1feWVhcnM7Ci0r ICAgICAgICBRTWFwPFFTdHJpbmcsIGludD4gbV9jb21wb3NlcnM7Ci0gICAgICAgICBRTWFwPFFQ YWlyPFFTdHJpbmcsIGludD4sIGludD4gbV9hbGJ1bXM7Ci0gICAgICAgICBRTWFwPFFQYWlyPFFT dHJpbmcsIGludD4sIGludD4gbV9pbWFnZXM7Ci0gICAgICAgICBRTWFwPFFTdHJpbmcsIGludD4g bV9kaXJlY3RvcmllczsKLWRpZmYgLS1naXQgYS9zcmMvY29sbGVjdGlvbi9zcWxjb2xsZWN0aW9u L1NxbFF1ZXJ5TWFrZXIuY3BwIGIvc3JjL2NvbGxlY3Rpb24vc3FsY29sbGVjdGlvbi9TcWxRdWVy eU1ha2VyLmNwcAotaW5kZXggYTZmOThmYi4uMTBjYzYyOSAxMDA2NDQKLS0tLSBhL3NyYy9jb2xs ZWN0aW9uL3NxbGNvbGxlY3Rpb24vU3FsUXVlcnlNYWtlci5jcHAKLSsrKyBiL3NyYy9jb2xsZWN0 aW9uL3NxbGNvbGxlY3Rpb24vU3FsUXVlcnlNYWtlci5jcHAKLUBAIC05OTIsNiArOTkyLDcgQEAg U3FsUXVlcnlNYWtlcjo6aGFuZGxlQXJ0aXN0cyggY29uc3QgUVN0cmluZ0xpc3QgJnJlc3VsdCAp Ci0gdm9pZAotIFNxbFF1ZXJ5TWFrZXI6OmhhbmRsZUFsYnVtcyggY29uc3QgUVN0cmluZ0xpc3Qg JnJlc3VsdCApCi0gewotKyAgICBERUJVR19CTE9DSwotICAgICBBbGJ1bUxpc3QgYWxidW1zOwot ICAgICBTcWxSZWdpc3RyeSogcmVnID0gbV9jb2xsZWN0aW9uLT5yZWdpc3RyeSgpOwotICAgICBm b3IoIFFTdHJpbmdMaXN0SXRlcmF0b3IgaXRlciggcmVzdWx0ICk7IGl0ZXIuaGFzTmV4dCgpOyAp Ci1AQCAtOTk5LDYgKzEwMDAsMTAgQEAgU3FsUXVlcnlNYWtlcjo6aGFuZGxlQWxidW1zKCBjb25z dCBRU3RyaW5nTGlzdCAmcmVzdWx0ICkKLSAgICAgICAgIFFTdHJpbmcgbmFtZSA9IGl0ZXIubmV4 dCgpOwotICAgICAgICAgUVN0cmluZyBpZCA9IGl0ZXIubmV4dCgpOwotICAgICAgICAgUVN0cmlu ZyBhcnRpc3QgPSBpdGVyLm5leHQoKTsKLSsgICAgICAgIC8vSEFDSzogVGhlIGZvbGxvd2luZyBp cyBhIEhBQ0sgYW5kIHNob3VsZCBiZSBmaXhlZCBieSBmaXhpbmcgdGhlIEhBQ0sKLSsgICAgICAg IC8vb2YgYWx3YXlzIGluY2x1ZGluZyB0aGUgInRyYWNrcyIgdGFibGUgaW4gcXVlcmllcyBpbiBT cWxRdWVyeU1ha2VyCi0rICAgICAgICBpZiggbmFtZS5pc0VtcHR5KCkgJiYgaWQuaXNFbXB0eSgp ICYmIGFydGlzdC5pc0VtcHR5KCkgKQotKyAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg YWxidW1zLmFwcGVuZCggcmVnLT5nZXRBbGJ1bSggbmFtZSwgaWQudG9JbnQoKSwgYXJ0aXN0LnRv SW50KCkgKSApOwotICAgICB9Ci0gICAgIGVtaXRPclN0b3JlUHJvcGVyUmVzdWx0KCBBbGJ1bVB0 ciwgYWxidW1zICk7Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbGxlY3Rpb24vdW1zY29sbGVjdGlvbi9h bWFyb2tfY29sbGVjdGlvbi11bXNjb2xsZWN0aW9uLmRlc2t0b3AgYi9zcmMvY29sbGVjdGlvbi91 bXNjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLXVtc2NvbGxlY3Rpb24uZGVza3RvcAotaW5k ZXggMDEyNGMxYi4uMWIwMTZlMCAxMDA2NDQKLS0tLSBhL3NyYy9jb2xsZWN0aW9uL3Vtc2NvbGxl Y3Rpb24vYW1hcm9rX2NvbGxlY3Rpb24tdW1zY29sbGVjdGlvbi5kZXNrdG9wCi0rKysgYi9zcmMv Y29sbGVjdGlvbi91bXNjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLXVtc2NvbGxlY3Rpb24u ZGVza3RvcAotQEAgLTE1LDYgKzE1LDcgQEAgTmFtZVtubl09VW5pdmVyc2VsbCBtYXNzZWxhZ3Jp bmdzc2FtbGluZwotIE5hbWVbcGxdPUtvbGVrY2phIG5hIHVyesSFZHplbml1IGRhbnljaAotIE5h bWVbcHRdPUNvbGVjw6fDo28gZGUgQXJtYXplbmFtZW50byBlbSBNYXNzYSBVbml2ZXJzYWwKLSBO YW1lW3B0X0JSXT1Db2xlw6fDo28gZGUgQXJtYXplbmFtZW50byBVbml2ZXJzYWwgZW0gTWFzc2EK LStOYW1lW3J1XT3QmtC+0LvQu9C10LrRhtC40Y8gVU1TCi0gTmFtZVtzcl090JfQsdC40YDQutCw INC90LAg0YPQvdC40LLQtdGA0LfQsNC70L3QvtC8INC80LDRgdC+0LLQvdC+0Lwg0YHQutC70LDQ tNC40YjRgtGDCi0gTmFtZVtzckBsYXRpbl09WmJpcmthIG5hIHVuaXZlcnphbG5vbSBtYXNvdm5v bSBza2xhZGnFoXR1Ci0gTmFtZVtzdl09U2FtbGluZyBww6UgZ2VuZXJlbGwgbGFncmluZ3Nlbmhl dAotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L0FwcGxldC5jcHAgYi9zcmMvY29udGV4dC9BcHBs ZXQuY3BwCi1pbmRleCAzOGJjNzA5Li5hYjJjMGFjIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQv QXBwbGV0LmNwcAotKysrIGIvc3JjL2NvbnRleHQvQXBwbGV0LmNwcAotQEAgLTM5LDcgKzM5LDgg QEAgbmFtZXNwYWNlIENvbnRleHQKLSBDb250ZXh0OjpBcHBsZXQ6OkFwcGxldCggUU9iamVjdCAq IHBhcmVudCwgY29uc3QgUVZhcmlhbnRMaXN0JiBhcmdzICkKLSAgICAgOiBQbGFzbWE6OkFwcGxl dCggcGFyZW50LCBhcmdzICkKLSAgICAgLCBtX2NvbGxhcHNlZCggZmFsc2UgKQotLSAgICAsIG1f YW5pbWF0aW9uSWQoIDAgKQotKyAgICAsIG1fYW5pbWF0aW9uSWRPbiggMCApCi0rICAgICwgbV9h bmltYXRpb25JZE9mZiggMCApCi0gICAgICwgbV90cmFuc2llbnQoIDAgKQotICAgICAsIG1fc3Rh bmRhcmRQYWRkaW5nKCA2LjAgKQotICAgICAsIG1fdGV4dEJhY2tncm91bmQoIDAgKQotQEAgLTUw LDggKzUxLDEwIEBAIENvbnRleHQ6OkFwcGxldDo6QXBwbGV0KCBRT2JqZWN0ICogcGFyZW50LCBj b25zdCBRVmFyaWFudExpc3QmIGFyZ3MgKQotIAotIENvbnRleHQ6OkFwcGxldDo6fkFwcGxldCgg KQotIHsKLS0gICAgaWYgKCBtX2FuaW1hdGlvbklkICE9IDApCi0tICAgICAgICBQbGFzbWE6OkFu aW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1fYW5pbWF0aW9uSWQgKTsKLSsg ICAgaWYgKCBtX2FuaW1hdGlvbklkT24gIT0gMCApCi0rICAgICAgICBQbGFzbWE6OkFuaW1hdG9y OjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1fYW5pbWF0aW9uSWRPbiApOwotKyAgICBp ZiAoIG1fYW5pbWF0aW9uSWRPZmYgIT0gMCApCi0rICAgICAgICBQbGFzbWE6OkFuaW1hdG9yOjpz ZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1fYW5pbWF0aW9uSWRPZmYgKTsKLSB9Ci0gCi0g Ci1AQCAtMjI4LDM5ICsyMzEsNTEgQEAgQ29udGV4dDo6QXBwbGV0OjphZGRBY3Rpb24oIFFBY3Rp b24gKmFjdGlvbiwgY29uc3QgaW50IHNpemUgKQotIHZvaWQKLSBDb250ZXh0OjpBcHBsZXQ6OnNl dENvbGxhcHNlT24oKQotIHsKLSsgICAgLy8gV2UgYXJlIGFza2VkIHRvIGNvbGxhcHNlLCBidXQg dGhlIGFwcGxldCBpcyBhbHJlYWR5IGFuaW1hdGluZyB0byBjb2xsYXBzZSwgZG8gbm90aGluZwot KyAgICBpZiAoIG1fYW5pbWF0aW9uSWRPbiAhPSAwICkKLSsgICAgICAgIHJldHVybjsKLSsKLSsg ICAgLy8gV2UgYXJlIGFscmVhZHkgY29sbGFwc2VkCi0gICAgIGlmICggc2l6ZSgpLmhlaWdodCgp ID09IG1faGVpZ2h0Q29sbGFwc2VPbiApCi0gICAgICAgICByZXR1cm47Ci0rCi0gICAgIGRlYnVn KCkgPDwgImNvbGxhcHNpbmcgYXBwbGV0IHRvLi4uIiA8PCBtX2hlaWdodENvbGxhcHNlT247Ci0g ICAgIGlmKCBtX2hlaWdodENvbGxhcHNlT2ZmID09IC0xICkKLSAgICAgICAgIG1fYW5pbUZyb21I ZWlnaHQgPSBzaXplKCkuaGVpZ2h0KCk7Ci0gICAgIGVsc2UKLSAgICAgICAgIG1fYW5pbUZyb21I ZWlnaHQgPSBtX2hlaWdodENvbGxhcHNlT2ZmOwotIAotLSAgICBpZiAoIG1fYW5pbWF0aW9uSWQg IT0gMCApIC8vIHdhcm5pbmcgd2UgYXJlIG1vdmluZyByaWdodCBub3cKLSsgICAgaWYgKCBtX2Fu aW1hdGlvbklkT2ZmICE9IDAgKSAvLyB3YXJuaW5nIHdlIGFyZSBleHRhbmRpbmcgcmlnaHQgbm93 IHdlIHNob3VsZCBzdG9wCi0gICAgIHsKLSAgICAgICAgIC8vIHN0b3AgdGhlIGFuaW0KLS0gICAg ICAgIFBsYXNtYTo6QW5pbWF0b3I6OnNlbGYoKS0+c3RvcEN1c3RvbUFuaW1hdGlvbiggbV9hbmlt YXRpb25JZCApOwotLSAgICAgICAgbV9hbmltYXRpb25JZCA9IDA7Ci0rICAgICAgICBQbGFzbWE6 OkFuaW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1fYW5pbWF0aW9uSWRPZmYg KTsKLSsgICAgICAgIG1fYW5pbWF0aW9uSWRPZmYgPSAwOwotICAgICB9Ci0gICAgIG1fY29sbGFw c2VkID0gZmFsc2U7Ci0tICAgIG1fYW5pbWF0aW9uSWQgPSBQbGFzbWE6OkFuaW1hdG9yOjpzZWxm KCktPmN1c3RvbUFuaW1hdGlvbigyMCwgMTAwMCwgUGxhc21hOjpBbmltYXRvcjo6RWFzZUluQ3Vy dmUsIHRoaXMsICJhbmltYXRlT24iICk7Ci0rICAgIG1fYW5pbWF0aW9uSWRPbiA9IFBsYXNtYTo6 QW5pbWF0b3I6OnNlbGYoKS0+Y3VzdG9tQW5pbWF0aW9uKDIwLCAxMDAwLCBQbGFzbWE6OkFuaW1h dG9yOjpFYXNlSW5DdXJ2ZSwgdGhpcywgImFuaW1hdGVPbiIgKTsKLSB9Ci0gCi0gdm9pZAotIENv bnRleHQ6OkFwcGxldDo6c2V0Q29sbGFwc2VPZmYoKQotIHsKLSAgICAgREVCVUdfQkxPQ0sKLS0g ICAgZGVidWcoKSA8PCAiaGVpZ2h0OiIgPDwgc2l6ZSgpLmhlaWdodCgpIDw8ICJ0YXJnZXQ6IiA8 PCBtX2hlaWdodENvbGxhcHNlT2ZmIDw8ICJtX2NvbGxhcHNlZDoiIDw8IG1fY29sbGFwc2VkOwot KwotKyAgICAvLyBXZSBhcmUgYXNrZWQgdG8gZXh0ZW5kLCBidXQgdGhlIGFwcGxldCBpcyBhbHJl YWR5IGFuaW1hdGluZyB0byBleHRlbmQsIGRvIG5vdGhpbmcKLSsgICAgaWYgKCBtX2FuaW1hdGlv bklkT2ZmICE9IDAgKQotKyAgICAgICAgcmV0dXJuOwotKyAgICAKLSsgICAgLy8gQXBwbGV0IGFs cmVhZHkgZXh0ZW5kZWQKLSAgICAgaWYgKCBzaXplKCkuaGVpZ2h0KCkgPT0gbV9oZWlnaHRDb2xs YXBzZU9mZiApCi0gICAgICAgICByZXR1cm47Ci0gCi0rICAgIGRlYnVnKCkgPDwgImhlaWdodDoi IDw8IHNpemUoKS5oZWlnaHQoKSA8PCAidGFyZ2V0OiIgPDwgbV9oZWlnaHRDb2xsYXBzZU9mZiA8 PCAibV9jb2xsYXBzZWQ6IiA8PCBtX2NvbGxhcHNlZDsKLSAgICAgaWYoIG1faGVpZ2h0Q29sbGFw c2VPZmYgPT0gLTEpIC8vIGlmIGl0J3Mgc2VsZi1leHBhbmRpbmcsIGRvbid0IGFuaW1hdGUgYXMg d2UgZG9uJ3Qga25vdyB3aGVyZSB3ZSdyZSBnb2luZy4gYWxzbywgaWYgd2UncmUgc2hyaW5raW5n Ci0gICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIHN0b3AgdGhhdCBhbmQgZXhwYW5kIHJlZ2FyZGxlc3MK LS0gICAgICAgIC8vIHN0b3AgdGhlIGFuaW0KLS0gICAgICAgIGlmKCBtX2FuaW1hdGlvbklkICE9 IDAgKQotKyAgICAgICAgLy8gc3RvcCB0aGUgYW5pbWF0aW9uIG9uIG5vdwotKyAgICAgICAgaWYo IG1fYW5pbWF0aW9uSWRPbiAhPSAwICkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBQbGFzbWE6 OkFuaW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1fYW5pbWF0aW9uSWQgKTsK LS0gICAgICAgICAgICBtX2FuaW1hdGlvbklkID0gMDsKLSsgICAgICAgICAgICBQbGFzbWE6OkFu aW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1fYW5pbWF0aW9uSWRPbiApOwot KyAgICAgICAgICAgIG1fYW5pbWF0aW9uSWRPbiA9IDA7Ci0gICAgICAgICB9Ci0gICAgICAgICBt X2hlaWdodEN1cnJlbnQgPSAgbV9oZWlnaHRDb2xsYXBzZU9mZjsKLSAgICAgICAgIGVtaXQgc2l6 ZUhpbnRDaGFuZ2VkKFF0OjpQcmVmZXJyZWRTaXplKTsKLUBAIC0yNjksMTQgKzI4NCwxNCBAQCBD b250ZXh0OjpBcHBsZXQ6OnNldENvbGxhcHNlT2ZmKCkKLSAgICAgICAgIHJldHVybjsKLSAgICAg fQotIAotLSAgICBpZiAoIG1fYW5pbWF0aW9uSWQgIT0gMCApIC8vIHdhcm5pbmcgd2UgYXJlIG1v dmluZyByaWdodCBub3cKLSsgICAgaWYgKCBtX2FuaW1hdGlvbklkT24gIT0gMCApIC8vIHdhcm5p bmcgd2UgYXJlIGNvbGxhcHNpbmcgcmlnaHQgbm93LCBzdG9wIHRoYXQgYW5kIHJldmVyc2UgaXQg IQotICAgICB7Ci0gICAgICAgICAvLyBzdG9wIHRoZSBhbmltCi0tICAgICAgICBQbGFzbWE6OkFu aW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1fYW5pbWF0aW9uSWQgKTsKLS0g ICAgICAgIG1fYW5pbWF0aW9uSWQgPSAwOwotKyAgICAgICAgUGxhc21hOjpBbmltYXRvcjo6c2Vs ZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklkT24gKTsKLSsgICAgICAgIG1f YW5pbWF0aW9uSWRPbiA9IDA7Ci0gICAgIH0KLSAgICAgbV9jb2xsYXBzZWQgPSB0cnVlIDsKLS0g ICAgbV9hbmltYXRpb25JZCA9IFBsYXNtYTo6QW5pbWF0b3I6OnNlbGYoKS0+Y3VzdG9tQW5pbWF0 aW9uKDIwLCAxMDAwLCBQbGFzbWE6OkFuaW1hdG9yOjpFYXNlSW5DdXJ2ZSwgdGhpcywgImFuaW1h dGVPZmYiICk7Ci0rICAgIG1fYW5pbWF0aW9uSWRPZmYgPSBQbGFzbWE6OkFuaW1hdG9yOjpzZWxm KCktPmN1c3RvbUFuaW1hdGlvbigyMCwgMTAwMCwgUGxhc21hOjpBbmltYXRvcjo6RWFzZUluQ3Vy dmUsIHRoaXMsICJhbmltYXRlT2ZmIiApOwotIH0KLSAKLSB2b2lkCi1AQCAtMjg1LDYgKzMwMCwx OSBAQCBDb250ZXh0OjpBcHBsZXQ6OnNldENvbGxhcHNlSGVpZ2h0KCBpbnQgaCApCi0gICAgIG1f aGVpZ2h0Q29sbGFwc2VPbiA9IGg7Ci0gfQotIAotK2Jvb2wKLStDb250ZXh0OjpBcHBsZXQ6Omlz QXBwbGV0Q29sbGFwc2VkKCkKLSt7Ci0rICAgIHJldHVybiAoIG1faGVpZ2h0Q29sbGFwc2VPbiA9 PSBtX2hlaWdodEN1cnJlbnQgKTsKLSt9Ci0rCi0rYm9vbAotK0NvbnRleHQ6OkFwcGxldDo6aXNB cHBsZXRFeHRlbmRlZCgpCi0rewotKyAgICByZXR1cm4gKCBtX2hlaWdodENvbGxhcHNlT2ZmID09 IG1faGVpZ2h0Q3VycmVudCApOwotK30KLSsKLSsKLSB2b2lkCi0gQ29udGV4dDo6QXBwbGV0Ojph bmltYXRlT24oIHFyZWFsIGFuaW0gKQotIHsKLUBAIC0zMDIsMjIgKzMzMCwyMCBAQCBDb250ZXh0 OjpBcHBsZXQ6OmFuaW1hdGVPZmYoIHFyZWFsIGFuaW0gKQotIHZvaWQKLSBDb250ZXh0OjpBcHBs ZXQ6OmFuaW1hdGVFbmQoIGludCBpZCApCi0gewotLSAgICBpZiggaWQgPT0gbV9hbmltYXRpb25J ZCApCi0rICAgIGlmKCBpZCA9PSBtX2FuaW1hdGlvbklkT24gKQotICAgICB7Ci0tICAgICAgICBp ZiggIW1fY29sbGFwc2VkICkKLS0gICAgICAgIHsKLS0gICAgICAgICAgICBQbGFzbWE6OkFwcGxl dDo6cmVzaXplKCBzaXplKCkud2lkdGgoKSwgbV9oZWlnaHRDb2xsYXBzZU9uICk7Ci0tICAgICAg ICAgICAgbV9jb2xsYXBzZWQgPSB0cnVlOwotLSAgICAgICAgfQotLSAgICAgICAgZWxzZQotLSAg ICAgICAgewotLSAgICAgICAgICAgIFBsYXNtYTo6QXBwbGV0OjpyZXNpemUoIHNpemUoKS53aWR0 aCgpLCBtX2hlaWdodENvbGxhcHNlT2ZmICk7Ci0tICAgICAgICAgICAgbV9jb2xsYXBzZWQgPSBm YWxzZTsKLS0gICAgICAgIH0KLS0gICAgICAgIHVwZGF0ZUdlb21ldHJ5KCk7Ci0tICAgICAgICBl bWl0IHNpemVIaW50Q2hhbmdlZChRdDo6UHJlZmVycmVkU2l6ZSk7Ci0tICAgICAgICBtX2FuaW1h dGlvbklkID0gMDsKLSsgICAgICAgIFBsYXNtYTo6QXBwbGV0OjpyZXNpemUoIHNpemUoKS53aWR0 aCgpLCBtX2hlaWdodENvbGxhcHNlT24gKTsKLSsgICAgICAgIG1fY29sbGFwc2VkID0gdHJ1ZTsK LSsgICAgICAgIG1fYW5pbWF0aW9uSWRPbiA9IDA7Ci0rICAgIH0KLSsgICAgaWYgKCBpZCA9PSBt X2FuaW1hdGlvbklkT2ZmICkKLSsgICAgewotKyAgICAgICAgUGxhc21hOjpBcHBsZXQ6OnJlc2l6 ZSggc2l6ZSgpLndpZHRoKCksIG1faGVpZ2h0Q29sbGFwc2VPZmYgKTsKLSsgICAgICAgIG1fY29s bGFwc2VkID0gZmFsc2U7Ci0rICAgICAgICBtX2FuaW1hdGlvbklkT2ZmID0gMDsKLSAgICAgfQot KyAgICB1cGRhdGVHZW9tZXRyeSgpOwotKyAgICBlbWl0IHNpemVIaW50Q2hhbmdlZChRdDo6UHJl ZmVycmVkU2l6ZSk7Ci0gfQotIAotIAotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L0FwcGxldC5o IGIvc3JjL2NvbnRleHQvQXBwbGV0LmgKLWluZGV4IDc4MTE2MjQuLjlmODYxNTggMTAwNjQ0Ci0t LS0gYS9zcmMvY29udGV4dC9BcHBsZXQuaAotKysrIGIvc3JjL2NvbnRleHQvQXBwbGV0LmgKLUBA IC02Miw2ICs2Miw5IEBAIGNsYXNzIEFNQVJPS19FWFBPUlQgQXBwbGV0IDogcHVibGljIFBsYXNt YTo6QXBwbGV0Ci0gICAgICAgICB2b2lkIHNldENvbGxhcHNlT2ZmKCk7Ci0gICAgICAgICB2b2lk IHNldENvbGxhcHNlSGVpZ2h0KCBpbnQgKTsKLSAKLSsgICAgICAgIGJvb2wgaXNBcHBsZXRDb2xs YXBzZWQoKTsKLSsgICAgICAgIGJvb2wgaXNBcHBsZXRFeHRlbmRlZCgpOwotKwotICAgICAgICAg LyoqCi0gICAgICAgICAgICogc2l6ZUhpbnQgaXMgcmVpbXBsZW1lbnRlZCBoZXJlIG9ubHkgZm9y IGFsbCB0aGUgYXBwbGV0LgotICAgICAgICAgICAqLwotQEAgLTg2LDcgKzg5LDggQEAgY2xhc3Mg QU1BUk9LX0VYUE9SVCBBcHBsZXQgOiBwdWJsaWMgUGxhc21hOjpBcHBsZXQKLSAgICAgICAgIGlu dCAgbV9oZWlnaHRDdXJyZW50OwotICAgICAgICAgaW50ICBtX2hlaWdodENvbGxhcHNlT247Ci0g ICAgICAgICBpbnQgIG1faGVpZ2h0Q29sbGFwc2VPZmY7Ci0tICAgICAgICBpbnQgIG1fYW5pbWF0 aW9uSWQ7Ci0rICAgICAgICBpbnQgIG1fYW5pbWF0aW9uSWRPbjsKLSsgICAgICAgIGludCAgbV9h bmltYXRpb25JZE9mZjsKLSAgICAgICAgIGludCAgbV9hbmltRnJvbUhlaWdodDsKLSAKLSAgICAg cHJpdmF0ZToKLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9hcHBsZXRzL2luZm8vYW1hcm9rLWNv bnRleHQtYXBwbGV0LWluZm8uZGVza3RvcCBiL3NyYy9jb250ZXh0L2FwcGxldHMvaW5mby9hbWFy b2stY29udGV4dC1hcHBsZXQtaW5mby5kZXNrdG9wCi1pbmRleCA3YzYxODE1Li44MWYyZTFkIDEw MDY0NAotLS0tIGEvc3JjL2NvbnRleHQvYXBwbGV0cy9pbmZvL2FtYXJvay1jb250ZXh0LWFwcGxl dC1pbmZvLmRlc2t0b3AKLSsrKyBiL3NyYy9jb250ZXh0L2FwcGxldHMvaW5mby9hbWFyb2stY29u dGV4dC1hcHBsZXQtaW5mby5kZXNrdG9wCi1AQCAtMTYsNiArMTYsNyBAQCBOYW1lW25uXT1JbmZv Ci0gTmFtZVtwbF09SW5mb3JtYWNqYQotIE5hbWVbcHRdPUluZm9ybWHDp8OjbwotIE5hbWVbcHRf QlJdPUluZm9ybWHDp8OjbwotK05hbWVbcnVdPdCh0LLQtdC00LXQvdC40Y8KLSBOYW1lW3NyXT3Q n9C+0LTQsNGG0LgKLSBOYW1lW3NyQGxhdGluXT1Qb2RhY2kKLSBOYW1lW3N2XT1JbmZvcm1hdGlv bgotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L2FwcGxldHMvcGhvdG9zL1Bob3Rvc0FwcGxldC5j cHAgYi9zcmMvY29udGV4dC9hcHBsZXRzL3Bob3Rvcy9QaG90b3NBcHBsZXQuY3BwCi1pbmRleCA0 Y2M0NzE0Li44ODRhN2YzIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3Mv UGhvdG9zQXBwbGV0LmNwcAotKysrIGIvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3MvUGhvdG9z QXBwbGV0LmNwcAotQEAgLTExNiw3ICsxMTYsNyBAQCBQaG90b3NBcHBsZXQ6On5QaG90b3NBcHBs ZXQoKQotIHZvaWQKLSBQaG90b3NBcHBsZXQ6OmVuZ2luZU5ld1RyYWNrUGxheWluZyggKQotIHsK LS0gLy8gICBERUJVR19CTE9DSwotKyAgICBERUJVR19CTE9DSwotICAgICBtX3N0b3BwZWRzdGF0 ZSA9IGZhbHNlOwotICAgICBkYXRhRW5naW5lKCAiYW1hcm9rLXBob3RvcyIgKS0+cXVlcnkoIFFT dHJpbmcoICJwaG90b3MiICkgKTsKLSB9Ci1AQCAtMTI0LDEzICsxMjQsMTQgQEAgUGhvdG9zQXBw bGV0OjplbmdpbmVOZXdUcmFja1BsYXlpbmcoICkKLSB2b2lkCi0gUGhvdG9zQXBwbGV0Ojplbmdp bmVQbGF5YmFja0VuZGVkKCBpbnQsIGludCwgUGxheWJhY2tFbmRlZFJlYXNvbiApCi0gewotLS8v ICAgIERFQlVHX0JMT0NLCi0rICAgIERFQlVHX0JMT0NLCi0gICAgIG1fc3RvcHBlZHN0YXRlID0g dHJ1ZTs7Ci0gICAgIG1faGVhZGVyVGV4dC0+c2V0VGV4dCggaTE4biggIlBob3RvcyIgKSArIFFT dHJpbmcoICIgOiAiICkgKyBpMThuKCAiTm8gdHJhY2sgcGxheWluZyIgKSApOwotICAgICBtX3dp ZGdldC0+Y2xlYXIoKTsKLSAgICAgbV93aWRnZXQtPmhpZGUoKTsKLSAgICAgc2V0QnVzeSggZmFs c2UgKTsKLSAgICAgc2V0Q29sbGFwc2VPbigpOwotKyAgICBkYXRhRW5naW5lKCAiYW1hcm9rLXBo b3RvcyIgKS0+cXVlcnkoIFFTdHJpbmcoICJwaG90b3M6c3RvcHBlZCIgKSApOwotIH0KLSAKLSB2 b2lkIAotQEAgLTIxNSwxNCArMjE2LDIyIEBAIFBob3Rvc0FwcGxldDo6ZGF0YVVwZGF0ZWQoIGNv bnN0IFFTdHJpbmcmIG5hbWUsIGNvbnN0IFBsYXNtYTo6RGF0YUVuZ2luZTo6RGF0YSYKLSAgICAg fQotICAgICBlbHNlIGlmICggZGF0YS5jb250YWlucyggImRhdGEiICkgKQotICAgICB7Ci0tICAg ICAgICBtX2hlYWRlclRleHQtPnNldFRleHQoIGkxOG4oICJQaG90b3MiICkgKyBRU3RyaW5nKCAi IDogIiApICsgZGF0YVsgImFydGlzdCIgXS50b1N0cmluZygpICk7Ci0tICAgICAgICB1cGRhdGVD b25zdHJhaW50cygpOwotLSAgICAgICAgdXBkYXRlKCk7Ci0tICAgICAgICBzZXRDb2xsYXBzZU9m ZigpOwotLSAgICAgICAgLy8gU2VuZCB0aGUgZGF0YSB0byB0aGUgc2Nyb2xsaW5nIHdpZGdldAot LSAgICAgICAgbV93aWRnZXQtPnNldFBpeG1hcExpc3QoIGRhdGFbICJkYXRhIiBdLnZhbHVlPCBR TGlzdCA8IFBob3Rvc0luZm8gKiA+ID4oKSApOwotLSAgICAgICAgbV93aWRnZXQtPnNob3coKTsK LS0gICAgICAgIHNldEJ1c3koZmFsc2UpOwotKyAgICAgICAgLy8gRG8gbm90IHNob3cgc29tZSBw aWN0dXJlIGlmIHdlJ3JlIHN0aWxsIGFuaW1hdGluZyBhcyBpdCBjYW4gbGVhZCB0byB0cm91Ymxl Ci0rICAgICAgICAvLyBsZXQncyBob3BlIGFuaW1hdGluZyB0aW1lIHdpbGwgYmUgc2hvcnRlciB0 aGFuIGZldGNoaW5nIHRpbWUgb2YgYWxsIHRoZSBwaWN0dXJlIDovCi0rICAgICAgICAvLyB0aGlz IGFsc28gcHJldmVudCB0aGUgc3R1cGlkIGVmZmVjdCBvZiByZWFuaW1hdGluZyBzZXZlcmFsIHRp bWUuCi0rICAgICAgICBpZiAoIGlzQXBwbGV0RXh0ZW5kZWQoKSApCi0rICAgICAgICB7Ci0rICAg ICAgICAgICAgbV9oZWFkZXJUZXh0LT5zZXRUZXh0KCBpMThuKCAiUGhvdG9zIiApICsgUVN0cmlu ZyggIiA6ICIgKSArIGRhdGFbICJhcnRpc3QiIF0udG9TdHJpbmcoKSApOwotKyAgICAgICAgICAg IHVwZGF0ZUNvbnN0cmFpbnRzKCk7Ci0rICAgICAgICAgICAgdXBkYXRlKCk7Ci0rICAgICAgICAg ICAgc2V0Q29sbGFwc2VPZmYoKTsKLSsgICAgICAgICAgICAvLyBTZW5kIHRoZSBkYXRhIHRvIHRo ZSBzY3JvbGxpbmcgd2lkZ2V0Ci0rICAgICAgICAgICAgbV93aWRnZXQtPnNldFBpeG1hcExpc3Qo IGRhdGFbICJkYXRhIiBdLnZhbHVlPCBRTGlzdCA8IFBob3Rvc0luZm8gKiA+ID4oKSApOwotKyAg ICAgICAgICAgIG1fd2lkZ2V0LT5zaG93KCk7Ci0rICAgICAgICAgICAgc2V0QnVzeShmYWxzZSk7 Ci0rICAgICAgICB9Ci0rICAgICAgICBlbHNlCi0rICAgICAgICAgICAgcmV0dXJuOwotICAgICB9 Ci0gICAgIHVwZGF0ZUNvbnN0cmFpbnRzKCk7Ci0gICAgIHVwZGF0ZSgpOwotZGlmZiAtLWdpdCBh L3NyYy9jb250ZXh0L2FwcGxldHMvcGhvdG9zL1Bob3Rvc1Njcm9sbFdpZGdldC5jcHAgYi9zcmMv Y29udGV4dC9hcHBsZXRzL3Bob3Rvcy9QaG90b3NTY3JvbGxXaWRnZXQuY3BwCi1pbmRleCA3MWQz ZDI4Li4zMWM3MWFkIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3MvUGhv dG9zU2Nyb2xsV2lkZ2V0LmNwcAotKysrIGIvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3MvUGhv dG9zU2Nyb2xsV2lkZ2V0LmNwcAotQEAgLTExMiw5MCArMTEyLDk0IEBAIHZvaWQgUGhvdG9zU2Ny b2xsV2lkZ2V0OjpzZXRQaXhtYXBMaXN0IChRTGlzdCA8IFBob3Rvc0luZm8gKiA+IGxpc3QpCi0g ICAgIGlmICggbGlzdCA9PSBtX2N1cnJlbnRsaXN0ICkKLSAgICAgICAgIHJldHVybjsKLSAKLS0g ICAgZGVidWcoKSA8PCAiYWRkaW5nICIgPDwgbGlzdC5jb3VudCgpIDw8ICJuZXcgcGljcyI7Ci0r ICAvLyAgZGVidWcoKSA8PCAiYWRkaW5nICIgPDwgbGlzdC5jb3VudCgpIDw8ICJuZXcgcGljcyI7 Ci0gICAgIC8vIElmIGEgbmV3IG9uZSBhcnJpdmVkLCB3ZSBjaGFuZ2UuCi0gICAgIGZvcmVhY2go IFBob3Rvc0luZm8gKml0ZW0sIGxpc3QgKQotICAgICB7Ci0gICAgICAgICBpZiAoICFtX2N1cnJl bnRsaXN0LmNvbnRhaW5zKCBpdGVtICkgKQotICAgICAgICAgewotLSAgICAgICAgICAgIHN3aXRj aCAoIG1fbW9kZSApCi0rICAgICAgICAgICAgaWYgKCAhaXRlbS0+cGhvdG8tPmlzTnVsbCgpICkK LSAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIGNhc2UgUEhPVE9TX01PREVfSU5URVJB Q1RJVkUgOgotKyAgICAgICAgICAgICAgICBzd2l0Y2ggKCBtX21vZGUgKQotICAgICAgICAgICAg ICAgICB7Ci0tCi0tICAgICAgICAgICAgICAgICAgICBpZiAoICFtX2lkICkgLy8gY2FyZWZ1bCB3 ZSdyZSBhbmltYXRpbmcKLSsgICAgICAgICAgICAgICAgICAgIGNhc2UgUEhPVE9TX01PREVfSU5U RVJBQ1RJVkUgOgotICAgICAgICAgICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICAgICAg ICAgIFBsYXNtYTo6QW5pbWF0b3I6OnNlbGYoKS0+c3RvcEN1c3RvbUFuaW1hdGlvbiggbV9pZCAp OwotLSAgICAgICAgICAgICAgICAgICAgICAgIG1faWQgPSAwOwotLSAgICAgICAgICAgICAgICAg ICAgfQotLSAgICAgICAgICAgICAgICAgICAgRHJhZ1BpeG1hcEl0ZW0gKmRyYWdwaXggPSBuZXcg RHJhZ1BpeG1hcEl0ZW0oIHRoaXMgKTsKLS0gICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNl dFBpeG1hcCggVGhlOjpzdmdIYW5kbGVyKCktPmFkZEJvcmRlcnNUb1BpeG1hcCgKLS0gICAgICAg ICAgICAgICAgICAgIGl0ZW0tPnBob3RvLT5zY2FsZWRUb0hlaWdodCggKGludCkgc2l6ZSgpLmhl aWdodCgpIC0gNCAqIG1fbWFyZ2luLCAgUXQ6OlNtb290aFRyYW5zZm9ybWF0aW9uICksIDUsICIi LCB0cnVlICkgKTsKLS0gICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNldFBvcyggbV9hY3R1 YWxwb3MsIDAgKTsKLS0gICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPlNldENsaWNrYWJsZVVy bCggaXRlbS0+dXJscGFnZSApOwotLSAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2hvdygp OwotIAotLSAgICAgICAgICAgICAgICAgICAgbV9waXhtYXBsaXN0IDw8IGRyYWdwaXg7Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgaWYgKCAhbV9pZCApIC8vIGNhcmVmdWwgd2UncmUgYW5pbWF0 aW5nCi0rICAgICAgICAgICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQbGFzbWE6OkFuaW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1faWQg KTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pZCA9IDA7Ci0rICAgICAgICAgICAg ICAgICAgICAgICAgfQotIAotLSAgICAgICAgICAgICAgICAgICAgaW50IGRlbHRhID0gZHJhZ3Bp eC0+Ym91bmRpbmdSZWN0KCkud2lkdGgoKSArIG1fbWFyZ2luOwotLSAgICAgICAgICAgICAgICAg ICAgbV9zY3JvbGxtYXggKz0gZGVsdGE7Ci0tICAgICAgICAgICAgICAgICAgICBtX2FjdHVhbHBv cyArPSBkZWx0YTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBEcmFnUGl4bWFwSXRlbSAqZHJh Z3BpeCA9IG5ldyBEcmFnUGl4bWFwSXRlbSggdGhpcyApOwotKyAgICAgICAgICAgICAgICAgICAg ICAgIGRyYWdwaXgtPnNldFBpeG1hcCggVGhlOjpzdmdIYW5kbGVyKCktPmFkZEJvcmRlcnNUb1Bp eG1hcCgKLSsgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLT5waG90by0+c2NhbGVkVG9IZWln aHQoIChpbnQpIHNpemUoKS5oZWlnaHQoKSAtIDQgKiBtX21hcmdpbiwgIFF0OjpTbW9vdGhUcmFu c2Zvcm1hdGlvbiApLCA1LCAiIiwgdHJ1ZSApICk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAg ZHJhZ3BpeC0+c2V0UG9zKCBtX2FjdHVhbHBvcywgMCApOwotKyAgICAgICAgICAgICAgICAgICAg ICAgIGRyYWdwaXgtPlNldENsaWNrYWJsZVVybCggaXRlbS0+dXJscGFnZSApOwotKyAgICAgICAg ICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNob3coKTsKLSAKLS0gICAgICAgICAgICAgICAgICAg IGJyZWFrOwotLSAgICAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgICAgIGNhc2UgUEhPVE9T X01PREVfQVVUT01BVElDIDoKLS0gICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAg ICAgICAgIG1fcGl4bWFwbGlzdCA8PCBkcmFncGl4OwotIAotLSAgICAgICAgICAgICAgICAgICAg RHJhZ1BpeG1hcEl0ZW0gKmRyYWdwaXggPSBuZXcgRHJhZ1BpeG1hcEl0ZW0oIHRoaXMgKTsKLS0g ICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNldFBpeG1hcCggVGhlOjpzdmdIYW5kbGVyKCkt PmFkZEJvcmRlcnNUb1BpeG1hcCgKLS0gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLT5waG90 by0+c2NhbGVkVG9IZWlnaHQoIChpbnQpIHNpemUoKS5oZWlnaHQoKSAtIDQgKiBtX21hcmdpbiwg IFF0OjpTbW9vdGhUcmFuc2Zvcm1hdGlvbiApLCA1LCAiIiwgdHJ1ZSApICk7Ci0tICAgICAgICAg ICAgICAgICAgICBkcmFncGl4LT5TZXRDbGlja2FibGVVcmwoIGl0ZW0tPnVybHBhZ2UgKTsKLSsg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGVsdGEgPSBkcmFncGl4LT5ib3VuZGluZ1JlY3Qo KS53aWR0aCgpICsgbV9tYXJnaW47Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbV9zY3JvbGxt YXggKz0gZGVsdGE7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbV9hY3R1YWxwb3MgKz0gZGVs dGE7Ci0gCi0tICAgICAgICAgICAgICAgICAgICBpZiAoIG1faWQgPT0gMCApIC8vIG9ubHkgcG9z IGFuZCBzaG93IGlmIG5vIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgc2V0IGF0IHRo ZSBlbmQgYXV0b21hdGljYWxseQotKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotKyAg ICAgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICAgICAgY2FzZSBQSE9UT1NfTU9E RV9BVVRPTUFUSUMgOgotICAgICAgICAgICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICAg ICAgICAgIGlmICggISBtX3BpeG1hcGxpc3QuZW1wdHkoKSApCi0tICAgICAgICAgICAgICAgICAg ICAgICAgewotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zZXRQb3MoIG1f cGl4bWFwbGlzdC5sYXN0KCktPmJvdW5kaW5nUmVjdCgpLndpZHRoKCkgKyBtX3BpeG1hcGxpc3Qu bGFzdCgpLT5wb3MoKS54KCkgKyBtX21hcmdpbiAsIDAgKSA7Ci0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRyYWdwaXgtPnNob3coKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0t ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotKwotKyAgICAgICAgICAgICAgICAgICAgICAg IERyYWdQaXhtYXBJdGVtICpkcmFncGl4ID0gbmV3IERyYWdQaXhtYXBJdGVtKCB0aGlzICk7Ci0r ICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2V0UGl4bWFwKCBUaGU6OnN2Z0hhbmRs ZXIoKS0+YWRkQm9yZGVyc1RvUGl4bWFwKAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBp dGVtLT5waG90by0+c2NhbGVkVG9IZWlnaHQoIChpbnQpIHNpemUoKS5oZWlnaHQoKSAtIDQgKiBt X21hcmdpbiwgIFF0OjpTbW9vdGhUcmFuc2Zvcm1hdGlvbiApLCA1LCAiIiwgdHJ1ZSApICk7Ci0r ICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+U2V0Q2xpY2thYmxlVXJsKCBpdGVtLT51 cmxwYWdlICk7Ci0rCi0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBtX2lkID09IDAgKSAv LyBvbmx5IHBvcyBhbmQgc2hvdyBpZiBubyBhbmltYXRpb24sIG90aGVyd2lzZSBpdCB3aWxsIGJl IHNldCBhdCB0aGUgZW5kIGF1dG9tYXRpY2FsbHkKLSAgICAgICAgICAgICAgICAgICAgICAgICB7 Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWN0dWFscG9zID0gMDsKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2V0UG9zKCBtX2FjdHVhbHBvcywgMCApIDsK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2hvdygpOwotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiAoICEgbV9waXhtYXBsaXN0LmVtcHR5KCkgKQotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkcmFncGl4LT5zZXRQb3MoIG1fcGl4bWFwbGlzdC5sYXN0KCktPmJvdW5kaW5nUmVjdCgpLndp ZHRoKCkgKyBtX3BpeG1hcGxpc3QubGFzdCgpLT5wb3MoKS54KCkgKyBtX21hcmdpbiAsIDAgKSA7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zaG93KCk7Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZWxzZQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtX2FjdHVhbHBvcyA9IDA7Ci0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkcmFncGl4LT5zZXRQb3MoIG1fYWN0dWFscG9zLCAwICkgOwotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2hvdygpOwotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgfQotLSAgICAgICAgICAgICAg ICAgICAgfQotIAotLSAgICAgICAgICAgICAgICAgICAgbV9waXhtYXBsaXN0IDw8IGRyYWdwaXg7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbV9waXhtYXBsaXN0IDw8IGRyYWdwaXg7Ci0gCi0t ICAgICAgICAgICAgICAgICAgICAvLyBzZXQgYSB0aW1lciBhZnRlciBhbmQgbGF1bmNoCi0tICAg ICAgICAgICAgICAgICAgICBRVGltZXI6OnNpbmdsZVNob3QoIG1faW50ZXJ2YWwsIHRoaXMsIFNM T1QoIGF1dG9tYXRpY0FuaW1CZWdpbigpICkgKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAv LyBzZXQgYSB0aW1lciBhZnRlciBhbmQgbGF1bmNoCi0rICAgICAgICAgICAgICAgICAgICAgICAg UVRpbWVyOjpzaW5nbGVTaG90KCBtX2ludGVydmFsLCB0aGlzLCBTTE9UKCBhdXRvbWF0aWNBbmlt QmVnaW4oKSApICk7Ci0gCi0tICAgICAgICAgICAgICAgICAgICBicmVhazsKLS0gICAgICAgICAg ICAgICAgfQotLSAgICAgICAgICAgICAgICBjYXNlIFBIT1RPU19NT0RFX0ZBRElORyA6Ci0tICAg ICAgICAgICAgICAgIHsKLS0KLS0gICAgICAgICAgICAgICAgICAgIERyYWdQaXhtYXBJdGVtICpk cmFncGl4ID0gbmV3IERyYWdQaXhtYXBJdGVtKCB0aGlzICk7Ci0tICAgICAgICAgICAgICAgICAg ICBkcmFncGl4LT5zZXRQaXhtYXAoIFRoZTo6c3ZnSGFuZGxlcigpLT5hZGRCb3JkZXJzVG9QaXht YXAoCi0tICAgICAgICAgICAgICAgICAgICBpdGVtLT5waG90by0+c2NhbGVkVG9IZWlnaHQoIChp bnQpIHNpemUoKS5oZWlnaHQoKSAtIDQgKiBtX21hcmdpbiwgIFF0OjpTbW9vdGhUcmFuc2Zvcm1h dGlvbiApLCA1LCAiIiwgdHJ1ZSApICk7Ci0tICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5z ZXRQb3MoICggc2l6ZSgpLndpZHRoKCkgLSBkcmFncGl4LT5ib3VuZGluZ1JlY3QoKS53aWR0aCgp ICkgLyAyLCAwICk7Ci0tICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5TZXRDbGlja2FibGVV cmwoIGl0ZW0tPnVybHBhZ2UgKTsKLS0gICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPmhpZGUo KTsKLS0gICAgICAgICAgICAgICAgICAgIG1fcGl4bWFwbGlzdCA8PCBkcmFncGl4OwotLSAgICAg ICAgICAgICAgICAgICAgaWYgKCBtX3BpeG1hcGxpc3Quc2l6ZSgpID09IDEgKQotLSAgICAgICAg ICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNob3coKTsK LS0gICAgICAgICAgICAgICAgICAgICAgICBtX3RpbWVyLT5zdGFydCggbV9pbnRlcnZhbCApOwot KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgfQot KyAgICAgICAgICAgICAgICAgICAgY2FzZSBQSE9UT1NfTU9ERV9GQURJTkcgOgotKyAgICAgICAg ICAgICAgICAgICAgewotIAotLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAg ICAgICAgICAgICAgICAgRHJhZ1BpeG1hcEl0ZW0gKmRyYWdwaXggPSBuZXcgRHJhZ1BpeG1hcEl0 ZW0oIHRoaXMgKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zZXRQaXhtYXAo IFRoZTo6c3ZnSGFuZGxlcigpLT5hZGRCb3JkZXJzVG9QaXhtYXAoCi0rICAgICAgICAgICAgICAg ICAgICAgICAgaXRlbS0+cGhvdG8tPnNjYWxlZFRvSGVpZ2h0KCAoaW50KSBzaXplKCkuaGVpZ2h0 KCkgLSA0ICogbV9tYXJnaW4sICBRdDo6U21vb3RoVHJhbnNmb3JtYXRpb24gKSwgNSwgIiIsIHRy dWUgKSApOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNldFBvcyggKCBzaXpl KCkud2lkdGgoKSAtIGRyYWdwaXgtPmJvdW5kaW5nUmVjdCgpLndpZHRoKCkgKSAvIDIsIDAgKTsK LSsgICAgICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5TZXRDbGlja2FibGVVcmwoIGl0ZW0t PnVybHBhZ2UgKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5oaWRlKCk7Ci0r ICAgICAgICAgICAgICAgICAgICAgICAgbV9waXhtYXBsaXN0IDw8IGRyYWdwaXg7Ci0rICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKCBtX3BpeG1hcGxpc3Quc2l6ZSgpID09IDEgKQotKyAgICAg ICAgICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3Bp eC0+c2hvdygpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RpbWVyLT5zdGFydCgg bV9pbnRlcnZhbCApOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0KLSsKLSsgICAgICAgICAg ICAgICAgICAgICAgICBicmVhazsKLSsgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg ICAgICAgfQotICAgICAgICAgICAgIH0KLSAgICAgICAgIH0KLSAgICAgfQotICAgICBtX2N1cnJl bnRsaXN0ID0gbGlzdDsKLS0gICAgZGVidWcoKSA8PCAidG90YWwgY291bnQ6ICIgPDwgbV9waXht YXBsaXN0LmNvdW50KCk7Ci0rICAvLyAgZGVidWcoKSA8PCAidG90YWwgY291bnQ6ICIgPDwgbV9w aXhtYXBsaXN0LmNvdW50KCk7Ci0gfQotIAotIHZvaWQgUGhvdG9zU2Nyb2xsV2lkZ2V0Ojpob3Zl ckVudGVyRXZlbnQoUUdyYXBoaWNzU2NlbmVIb3ZlckV2ZW50KikKLUBAIC0yNjYsMTAgKzI3MCwx MyBAQCB2b2lkIFBob3Rvc1Njcm9sbFdpZGdldDo6cmVzaXplKHFyZWFsIHdpZCwgcXJlYWwgaGVp KQotICAgICAgICAgewotICAgICAgICAgICAgIGZvcmVhY2ggKERyYWdQaXhtYXBJdGVtICppdGVt LCBtX3BpeG1hcGxpc3QpCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBpZiAoIHNp emUoKS5oZWlnaHQoKSAhPSBoZWkgKQotLSAgICAgICAgICAgICAgICAgICAgaXRlbS0+c2V0UGl4 bWFwKCBpdGVtLT5waXhtYXAoKS5zY2FsZWRUb0hlaWdodCggKGludCkgaGVpIC0gNCAqIG1fbWFy Z2luLCAgUXQ6OlNtb290aFRyYW5zZm9ybWF0aW9uICkgKTsKLS0gICAgICAgICAgICAgICAgaWYg KCBzaXplKCkud2lkdGgoKSAhPSB3aWQgKQotLSAgICAgICAgICAgICAgICAgICAgaXRlbS0+c2V0 UG9zKCAoIHdpZCAtIGl0ZW0tPmJvdW5kaW5nUmVjdCgpLndpZHRoKCkgKSAvIDIsIDAgKTsKLSsg ICAgICAgICAgICAgICAgaWYgKCAhaXRlbS0+cGl4bWFwKCkuaXNOdWxsKCkgKQotKyAgICAgICAg ICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAoIHNpemUoKS5oZWlnaHQoKSAhPSBo ZWkgKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tPnNldFBpeG1hcCggaXRlbS0+cGl4 bWFwKCkuc2NhbGVkVG9IZWlnaHQoIChpbnQpIGhlaSAtIDQgKiBtX21hcmdpbiwgIFF0OjpTbW9v dGhUcmFuc2Zvcm1hdGlvbiApICk7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAoIHNpemUoKS53 aWR0aCgpICE9IHdpZCApCi0rICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS0+c2V0UG9zKCAo IHdpZCAtIGl0ZW0tPmJvdW5kaW5nUmVjdCgpLndpZHRoKCkgKSAvIDIsIDAgKTsKLSsgICAgICAg ICAgICAgICAgfQotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg IH0KLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9hcHBsZXRzL3Bob3Rvcy9hbWFyb2stY29udGV4 dC1hcHBsZXQtcGhvdG9zLmRlc2t0b3AgYi9zcmMvY29udGV4dC9hcHBsZXRzL3Bob3Rvcy9hbWFy b2stY29udGV4dC1hcHBsZXQtcGhvdG9zLmRlc2t0b3AKLWluZGV4IDJmZWQzMzcuLjg2NjYyZTgg MTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9hcHBsZXRzL3Bob3Rvcy9hbWFyb2stY29udGV4dC1h cHBsZXQtcGhvdG9zLmRlc2t0b3AKLSsrKyBiL3NyYy9jb250ZXh0L2FwcGxldHMvcGhvdG9zL2Ft YXJvay1jb250ZXh0LWFwcGxldC1waG90b3MuZGVza3RvcAotQEAgLTE3LDYgKzE3LDcgQEAgTmFt ZVtubl09QmlsZXRlCi0gTmFtZVtwbF09WmRqxJljaWEKLSBOYW1lW3B0XT1Gb3RvZ3JhZmlhcwot IE5hbWVbcHRfQlJdPUZvdG9zCi0rTmFtZVtydV090KTQvtGC0L7Qs9GA0LDRhNC40LgKLSBOYW1l W3NyXT3QpNC+0YLQvtCz0YDQsNGE0LjRmNC1Ci0gTmFtZVtzckBsYXRpbl09Rm90b2dyYWZpamUK LSBOYW1lW3N2XT1Gb3RvbgotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L2VuZ2luZXMvY3VycmVu dC9hbWFyb2stZGF0YS1lbmdpbmUtY3VycmVudC5kZXNrdG9wIGIvc3JjL2NvbnRleHQvZW5naW5l cy9jdXJyZW50L2FtYXJvay1kYXRhLWVuZ2luZS1jdXJyZW50LmRlc2t0b3AKLWluZGV4IDY2MzE1 M2YuLjQ1MzU0YjkgMTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9lbmdpbmVzL2N1cnJlbnQvYW1h cm9rLWRhdGEtZW5naW5lLWN1cnJlbnQuZGVza3RvcAotKysrIGIvc3JjL2NvbnRleHQvZW5naW5l cy9jdXJyZW50L2FtYXJvay1kYXRhLWVuZ2luZS1jdXJyZW50LmRlc2t0b3AKLUBAIC0zMyw3ICsz Myw3IEBAIE5hbWVbcGxdPU1vZHXFgiBkYW55Y2ggYmllxbzEhWN5Y2ggaW5mb3JtYWNqaQotIE5h bWVbcHRdPU1vdG9yIGRlIERhZG9zIGRhIEluZm9ybWHDp8OjbyBBY3R1YWwKLSBOYW1lW3B0X0JS XT1NZWNhbmlzbW8gZGUgRGFkb3MgZGFzIEluZm9ybWHDp8O1ZXMgQXR1YWlzCi0gTmFtZVtyb109 TW90b3IgZGUgZGF0ZSBJbmZvcm1hyJtpZSBjdXJlbnTEgwotLU5hbWVbcnVdPdCU0LLQuNC20L7Q uiDQtNCw0L3QvdGL0YUg0LTQu9GPINGC0LXQutGD0YnQuNGFINGB0LLQtdC00LXQvdC40LkKLStO YW1lW3J1XT3QmNGB0YLQvtGH0L3QuNC6INC00LDQvdC90YvRhSDQtNC70Y8g0YLQtdC60YPRidC4 0YUg0YHQstC10LTQtdC90LjQuQotIE5hbWVbc2xdPVBvZGF0a292bmkgcG9nb24gemEgcG9kYXRr ZSB0cmVudXRuaSBza2xhZGJpCi0gTmFtZVtzcl090JTQsNGC0L7QvNC+0YLQvtGAINGC0LXQutGD 0ZvQuNGFINC/0L7QtNCw0YLQsNC60LAKLSBOYW1lW3NyQGxhdGluXT1EYXRvbW90b3IgdGVrdcSH aWggcG9kYXRha2EKLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9lbmdpbmVzL2luZm8vYW1hcm9r LWRhdGEtZW5naW5lLWluZm8uZGVza3RvcCBiL3NyYy9jb250ZXh0L2VuZ2luZXMvaW5mby9hbWFy b2stZGF0YS1lbmdpbmUtaW5mby5kZXNrdG9wCi1pbmRleCBhMjkwNDBjLi5kZTE2YjZiIDEwMDY0 NAotLS0tIGEvc3JjL2NvbnRleHQvZW5naW5lcy9pbmZvL2FtYXJvay1kYXRhLWVuZ2luZS1pbmZv LmRlc2t0b3AKLSsrKyBiL3NyYy9jb250ZXh0L2VuZ2luZXMvaW5mby9hbWFyb2stZGF0YS1lbmdp bmUtaW5mby5kZXNrdG9wCi1AQCAtMTQsNiArMTQsNyBAQCBOYW1lW25uXT1EYXRhbW90b3IgZm9y IGluZm9ybWFzam9uCi0gTmFtZVtwbF09TW9kdcWCIGRhbnljaCBpbmZvcm1hY2ppCi0gTmFtZVtw dF09TW90b3IgZGUgRGFkb3MgZGEgSW5mb3JtYcOnw6NvCi0gTmFtZVtwdF9CUl09TWVjYW5pc21v IGRlIERhZG9zIGRhcyBJbmZvcm1hw6fDtWVzCi0rTmFtZVtydV090JjRgdGC0L7Rh9C90LjQuiDQ tNCw0L3QvdGL0YUg0LTQu9GPINGB0LLQtdC00LXQvdC40LkKLSBOYW1lW3NyXT3QlNCw0YLQvtC8 0L7RgtC+0YAg0L/QvtC00LDRgtCw0LrQsAotIE5hbWVbc3JAbGF0aW5dPURhdG9tb3RvciBwb2Rh dGFrYQotIE5hbWVbc3ZdPURhdGFncsOkbnNzbml0dCBmw7ZyIGluZm9ybWF0aW9uCi1kaWZmIC0t Z2l0IGEvc3JjL2NvbnRleHQvZW5naW5lcy9seXJpY3MvYW1hcm9rLWRhdGEtZW5naW5lLWx5cmlj cy5kZXNrdG9wIGIvc3JjL2NvbnRleHQvZW5naW5lcy9seXJpY3MvYW1hcm9rLWRhdGEtZW5naW5l LWx5cmljcy5kZXNrdG9wCi1pbmRleCBmY2RiMTg5Li4xMzQxNzZlIDEwMDY0NAotLS0tIGEvc3Jj L2NvbnRleHQvZW5naW5lcy9seXJpY3MvYW1hcm9rLWRhdGEtZW5naW5lLWx5cmljcy5kZXNrdG9w Ci0rKysgYi9zcmMvY29udGV4dC9lbmdpbmVzL2x5cmljcy9hbWFyb2stZGF0YS1lbmdpbmUtbHly aWNzLmRlc2t0b3AKLUBAIC0zMyw3ICszMyw3IEBAIE5hbWVbcGxdPU1vZHXFgiBkYW55Y2ggdGVr c3TDs3cKLSBOYW1lW3B0XT1Nb3RvciBkZSBEYWRvcyBkZSBMZXRyYXMgTXVzaWNhaXMKLSBOYW1l W3B0X0JSXT1NZWNhbmlzbW8gZGUgRGFkb3MgZGFzIExldHJhcwotIE5hbWVbcm9dPU1vdG9yIGRl IGRhdGUgVmVyc3VyaQotLU5hbWVbcnVdPdCU0LLQuNC20L7QuiDQtNCw0L3QvdGL0YUg0LTQu9GP INGC0LXQutGB0YLQvtCyINC/0LXRgdC10L0KLStOYW1lW3J1XT3QmNGB0YLQvtGH0L3QuNC6INC0 0LDQvdC90YvRhSDQtNC70Y8g0YLQtdC60YHRgtC+0LIg0L/QtdGB0LXQvQotIE5hbWVbc2xdPVBv ZGF0a292bmkgcG9nb24gemEgYmVzZWRpbGEKLSBOYW1lW3NyXT3QlNCw0YLQvtC80L7RgtC+0YAg 0YHRgtC40YXQvtCy0LAKLSBOYW1lW3NyQGxhdGluXT1EYXRvbW90b3Igc3RpaG92YQotZGlmZiAt LWdpdCBhL3NyYy9jb250ZXh0L2VuZ2luZXMvcGhvdG9zL1Bob3Rvc0VuZ2luZS5jcHAgYi9zcmMv Y29udGV4dC9lbmdpbmVzL3Bob3Rvcy9QaG90b3NFbmdpbmUuY3BwCi1pbmRleCA3NTU4ZGE4Li5k ZmIxM2FmIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvZW5naW5lcy9waG90b3MvUGhvdG9zRW5n aW5lLmNwcAotKysrIGIvc3JjL2NvbnRleHQvZW5naW5lcy9waG90b3MvUGhvdG9zRW5naW5lLmNw cAotQEAgLTY1LDYgKzY1LDcgQEAgUGhvdG9zRW5naW5lOjpzb3VyY2VzKCkgY29uc3QKLSBib29s IAotIFBob3Rvc0VuZ2luZTo6c291cmNlUmVxdWVzdEV2ZW50KCBjb25zdCBRU3RyaW5nJiBuYW1l ICkKLSB7Ci0rICAgIERFQlVHX0JMT0NLCi0gICAgIG1fcmVxdWVzdGVkID0gdHJ1ZTsgLy8gc29t ZW9uZSBpcyBhc2tpbmcgZm9yIGRhdGEsIHNvIHdlIHR1cm4gb3Vyc2VsdmVzIG9uIDopCi0gICAg IFFTdHJpbmdMaXN0IHRva2VucyA9IG5hbWUuc3BsaXQoICc6JyApOwotIAotQEAgLTg2LDcgKzg3 LDE4IEBAIFBob3Rvc0VuZ2luZTo6c291cmNlUmVxdWVzdEV2ZW50KCBjb25zdCBRU3RyaW5nJiBu YW1lICkKLSAgICAgICAgICAgICBtX3JlbG9hZCA9IHRydWU7Ci0gICAgICAgICB9Ci0gICAgIH0K LS0gICAgICAgIAotKwotKyAgICAvLyB3ZSd2ZSBiZWVuIG5vdGlmaWVkIGJ5IHRoZSBhcHBsZXQg dG8gYmUgaW4gc3RhdGUgc3RvcCA8MwotKyAgICBlbHNlIGlmICggdG9rZW5zLmNvbnRhaW5zKCAi c3RvcHBlZCIgKSAmJiB0b2tlbnMuc2l6ZSgpID4gMSApCi0rICAgIHsKLSsgICAgICAgIGlmICgg dG9rZW5zLmF0KCAxICkgPT0gUVN0cmluZyggInN0b3BwZWQiICkgKQotKyAgICAgICAgewotKyAg ICAgICAgICAgIHJlbW92ZVNvdXJjZSggInBob3RvcyIgKTsKLSsgICAgICAgICAgICBtX3JlbG9h ZCA9IHRydWU7Ci0rICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotKyAgICAgICAgfQotKyAgICB9 Ci0rICAgIAotICAgICByZW1vdmVBbGxEYXRhKCBuYW1lICk7Ci0gICAgIHNldERhdGEoIG5hbWUs IFFWYXJpYW50KCkgKTsKLSAgICAgdXBkYXRlKCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQv ZW5naW5lcy9waG90b3MvYW1hcm9rLWRhdGEtZW5naW5lLXBob3Rvcy5kZXNrdG9wIGIvc3JjL2Nv bnRleHQvZW5naW5lcy9waG90b3MvYW1hcm9rLWRhdGEtZW5naW5lLXBob3Rvcy5kZXNrdG9wCi1p bmRleCBjMGU4OTNmLi5kMTFjNDNjIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvZW5naW5lcy9w aG90b3MvYW1hcm9rLWRhdGEtZW5naW5lLXBob3Rvcy5kZXNrdG9wCi0rKysgYi9zcmMvY29udGV4 dC9lbmdpbmVzL3Bob3Rvcy9hbWFyb2stZGF0YS1lbmdpbmUtcGhvdG9zLmRlc2t0b3AKLUBAIC0x NSw2ICsxNSw3IEBAIE5hbWVbbm5dPURhdGFtb3RvciBmb3IgYmlsZXRlCi0gTmFtZVtwbF09TW9k dcWCIGRhbnljaCB6ZGrEmcSHCi0gTmFtZVtwdF09TW90b3IgZGUgRGFkb3MgZGUgRm90b2dyYWZp YXMKLSBOYW1lW3B0X0JSXT1NZWNhbmlzbW8gZGUgRGFkb3MgZGUgRm90b3MKLStOYW1lW3J1XT3Q mNGB0YLQvtGH0L3QuNC6INC00LDQvdC90YvRhSDRhNC+0YLQvtCz0YDQsNGE0LjQuQotIE5hbWVb c3JdPdCU0LDRgtC+0LzQvtGC0L7RgCDRhNC+0YLQvtCz0YDQsNGE0LjRmNCwCi0gTmFtZVtzckBs YXRpbl09RGF0b21vdG9yIGZvdG9ncmFmaWphCi0gTmFtZVtzdl09RGF0YWdyw6Ruc3NuaXR0IGbD tnIgZm90b24KLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9lbmdpbmVzL3NvbmdraWNrL2FtYXJv ay1kYXRhLWVuZ2luZS1zb25na2ljay5kZXNrdG9wIGIvc3JjL2NvbnRleHQvZW5naW5lcy9zb25n a2ljay9hbWFyb2stZGF0YS1lbmdpbmUtc29uZ2tpY2suZGVza3RvcAotaW5kZXggZWUxY2E5My4u MjIxMzUzMyAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2VuZ2luZXMvc29uZ2tpY2svYW1hcm9r LWRhdGEtZW5naW5lLXNvbmdraWNrLmRlc2t0b3AKLSsrKyBiL3NyYy9jb250ZXh0L2VuZ2luZXMv c29uZ2tpY2svYW1hcm9rLWRhdGEtZW5naW5lLXNvbmdraWNrLmRlc2t0b3AKLUBAIC0zMyw3ICsz Myw3IEBAIE5hbWVbcGxdPU1vZHXFgiBkYW55Y2ggU29uZ2tpY2sKLSBOYW1lW3B0XT1Nb3RvciBk ZSBEYWRvcyBkbyBTb25na2ljawotIE5hbWVbcHRfQlJdPU1lY2FuaXNtbyBkZSBEYWRvcyBkbyBT b25na2ljawotIE5hbWVbcm9dPU1vdG9yIGRlIGRhdGUgU29uZ2tpY2sKLS1OYW1lW3J1XT3QlNCy 0LjQttC+0Log0LTQsNC90L3Ri9GFIFNvbmdraWNrCi0rTmFtZVtydV090JjRgdGC0L7Rh9C90LjQ uiDQtNCw0L3QvdGL0YUgU29uZ2tpY2sKLSBOYW1lW3NsXT1Qb2RhdGtvdm5pIHBvZ29uIHphIFNv bmdraWNrCi0gTmFtZVtzcl090JTQsNGC0L7QvNC+0YLQvtGAINCh0L7QvdCz0LrQuNC60LAKLSBO YW1lW3NyQGxhdGluXT1EYXRvbW90b3IgU29uZ2tpY2thCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRl eHQvZW5naW5lcy92aWRlb2NsaXAvYW1hcm9rLWRhdGEtZW5naW5lLXZpZGVvY2xpcC5kZXNrdG9w IGIvc3JjL2NvbnRleHQvZW5naW5lcy92aWRlb2NsaXAvYW1hcm9rLWRhdGEtZW5naW5lLXZpZGVv Y2xpcC5kZXNrdG9wCi1pbmRleCA5ZmNlNWQ3Li43ZDNjOThiIDEwMDY0NAotLS0tIGEvc3JjL2Nv bnRleHQvZW5naW5lcy92aWRlb2NsaXAvYW1hcm9rLWRhdGEtZW5naW5lLXZpZGVvY2xpcC5kZXNr dG9wCi0rKysgYi9zcmMvY29udGV4dC9lbmdpbmVzL3ZpZGVvY2xpcC9hbWFyb2stZGF0YS1lbmdp bmUtdmlkZW9jbGlwLmRlc2t0b3AKLUBAIC0yMCw3ICsyMCw3IEBAIE5hbWVbcGFdPeCoteCpgOCo oeCov+CokyDgqJXgqLLgqL/gqbHgqKog4Kih4Ki+4Kif4Ki+IOCoh+CpsOConOCoowotIE5hbWVb cGxdPU1vZHXFgiBkYW55Y2gga2xpcMOzdyB3aWRlbwotIE5hbWVbcHRdPU1vdG9yIGRlIERhZG9z IGRlICdDbGlwcycgZGUgVsOtZGVvCi0gTmFtZVtwdF9CUl09TW90b3IgZGUgZGFkb3MgZGUgY2xp cGUgZGUgdsOtZGVvCi0tTmFtZVtydV090JTQstC40LbQvtC6INC00LDQvdC90YvRhSDQtNC70Y8g 0LLQuNC00LXQvtC60LvQuNC/0L7QsgotK05hbWVbcnVdPdCY0YHRgtC+0YfQvdC40Log0LTQsNC9 0L3Ri9GFINC00LvRjyDQstC40LTQtdC+0LrQu9C40L/QvtCyCi0gTmFtZVtzbF09UG9kYXRrb3Zu aSBwb2dvbiB6YSB2aWRlbyBwb3NuZXRrZQotIE5hbWVbc3JdPdCU0LDRgtC+0LzQvtGC0L7RgCDQ stC40LTQtdC+INC40YHQtdGH0LDQutCwCi0gTmFtZVtzckBsYXRpbl09RGF0b21vdG9yIHZpZGVv IGlzZcSNYWthCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvZW5naW5lcy93aWtpcGVkaWEvV2lr aXBlZGlhRW5naW5lLmNwcCBiL3NyYy9jb250ZXh0L2VuZ2luZXMvd2lraXBlZGlhL1dpa2lwZWRp YUVuZ2luZS5jcHAKLWluZGV4IDExMDIzY2IuLjEzZGU1OGQgMTAwNjQ0Ci0tLS0gYS9zcmMvY29u dGV4dC9lbmdpbmVzL3dpa2lwZWRpYS9XaWtpcGVkaWFFbmdpbmUuY3BwCi0rKysgYi9zcmMvY29u dGV4dC9lbmdpbmVzL3dpa2lwZWRpYS9XaWtpcGVkaWFFbmdpbmUuY3BwCi1AQCAtMjIyLDkgKzIy MiwxMSBAQCBXaWtpcGVkaWFFbmdpbmU6Ondpa2lSZXN1bHQoIEtKb2IqIGpvYiApCi0gICAgICAg ICBtX3dpa2kgPSBRU3RyaW5nOjpmcm9tVXRmOCggc3RvcmVkSm9iLT5kYXRhKCkuZGF0YSgpLCBz dG9yZWRKb2ItPmRhdGEoKS5zaXplKCkgKTsKLSAKLSAKLS0gICAgLy8gUmVmaW5lZCBzZWFyY2gg dGhpbmcKLSsgICAgLy8gRklYTUU6IEZvciBub3cgd2UgdGVzdCBpZiB3ZSBnb3QgYW4gYXJ0aWNs ZSBvciBub3Qgd2l0aCBhIHRlc3Qgb24gdGhpcyBzdHJpbmcgIndnQXJ0aWNsZUlkPTAiCi0rICAg IC8vIFRoaXMgaXMgYmFkCi0gICAgIGlmKCBtX3dpa2kuY29udGFpbnMoICJ3Z0FydGljbGVJZD0w IiApICkgLy8gVGhlIGFydGljbGUgZG9lcyBub3QgZXhpc3QKLSAgICAgewotKyAgICAgICAgLy8g UmVmaW5lZCBzZWFyY2ggaXMgZG9uZSBoZXJlIAotICAgICAgICAgaWYgKCBtX3RyaWVkUmVmaW5l ZFNlYXJjaCA9PSAtMSApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgZGVidWcoKSA8PCAiV2Ug YWxyZWFkeSB0cmllZCBzb21lIHJlZmluZWQgc2VhcmNoLiBMZXRzIGVuZCB0aGlzIG1hZG5lc3Mu Li4iOwotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L2VuZ2luZXMvd2lraXBlZGlhL2FtYXJvay1k YXRhLWVuZ2luZS13aWtpcGVkaWEuZGVza3RvcCBiL3NyYy9jb250ZXh0L2VuZ2luZXMvd2lraXBl ZGlhL2FtYXJvay1kYXRhLWVuZ2luZS13aWtpcGVkaWEuZGVza3RvcAotaW5kZXggNGU4NjRlYi4u YTk3ZmMzYyAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2VuZ2luZXMvd2lraXBlZGlhL2FtYXJv ay1kYXRhLWVuZ2luZS13aWtpcGVkaWEuZGVza3RvcAotKysrIGIvc3JjL2NvbnRleHQvZW5naW5l cy93aWtpcGVkaWEvYW1hcm9rLWRhdGEtZW5naW5lLXdpa2lwZWRpYS5kZXNrdG9wCi1AQCAtMzMs NyArMzMsNyBAQCBOYW1lW3BsXT1Nb2R1xYIgZGFueWNoIFdpa2lwZWRpaQotIE5hbWVbcHRdPU1v dG9yIGRlIERhZG9zIGRvIFdpa2lww6lkaWEKLSBOYW1lW3B0X0JSXT1NZWNhbmlzbW8gZGUgRGFk b3MgZGEgV2lraXBlZGlhCi0gTmFtZVtyb109TW90b3IgZGUgZGF0ZSBXaWtpcGVkaWEKLS1OYW1l W3J1XT3QlNCy0LjQttC+0Log0LTQsNC90L3Ri9GFINCS0LjQutC40L/QtdC00LjQuAotK05hbWVb cnVdPdCY0YHRgtC+0YfQvdC40Log0LTQsNC90L3Ri9GFINCS0LjQutC40L/QtdC00LjQuAotIE5h bWVbc2xdPVBvZGF0a292bmkgcG9nb24gemEgV2lraXBlZGlqbwotIE5hbWVbc3JdPdCU0LDRgtC+ 0LzQvtGC0L7RgCDQktC40LrQuNC/0LXQtNC40ZjQtQotIE5hbWVbc3JAbGF0aW5dPURhdG9tb3Rv ciBXaWtpcGVkaWplCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvc2NyaXB0ZW5naW5lL2phdmFz Y3JpcHQvYW1hcm9rLXNjcmlwdGVuZ2luZS1hcHBsZXQtc2ltcGxlLWphdmFzY3JpcHQuZGVza3Rv cCBiL3NyYy9jb250ZXh0L3NjcmlwdGVuZ2luZS9qYXZhc2NyaXB0L2FtYXJvay1zY3JpcHRlbmdp bmUtYXBwbGV0LXNpbXBsZS1qYXZhc2NyaXB0LmRlc2t0b3AKLWluZGV4IDQ5OWM1ODcuLmQ0YjUw ZTkgMTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9zY3JpcHRlbmdpbmUvamF2YXNjcmlwdC9hbWFy b2stc2NyaXB0ZW5naW5lLWFwcGxldC1zaW1wbGUtamF2YXNjcmlwdC5kZXNrdG9wCi0rKysgYi9z cmMvY29udGV4dC9zY3JpcHRlbmdpbmUvamF2YXNjcmlwdC9hbWFyb2stc2NyaXB0ZW5naW5lLWFw cGxldC1zaW1wbGUtamF2YXNjcmlwdC5kZXNrdG9wCi1AQCAtMTgsNiArMTgsNyBAQCBOYW1lW25u XT1KYXZhU2NyaXB0LWVsZW1lbnQgZm9yIEFtYXJvawotIE5hbWVbcGxdPUFwbGV0IEphdmFTY3Jp cHR1IEFtYXJva2EKLSBOYW1lW3B0XT0nQXBwbGV0JyBkZSBKYXZhU2NyaXB0IGRvIEFtYXJvawot IE5hbWVbcHRfQlJdPU1pbmlhcGxpY2F0aXZvIEphdmFTY3JpcHQgZG8gQW1hcm9rCi0rTmFtZVty dV090JDQv9C70LXRgiBKYXZhU2NyaXB0INC00LvRjyBBbWFyb2sKLSBOYW1lW3NyXT3QiNCw0LLQ sNGB0LrRgNC40L/RgtC90Lgg0LDQv9C70LXRgiDQt9CwINCQ0LzQsNGA0L7QugotIE5hbWVbc3JA bGF0aW5dPUphdmFzY3JpcHQgYXBsZXQgemEgQW1hcm9rCi0gTmFtZVtzdl09QW1hcm9rIEphdmFz Y3JpcHQtbWluaXByb2dyYW0KLUBAIC00NSw2ICs0Niw3IEBAIENvbW1lbnRbbm5dPUlubmVieWdk IEFtYXJvay1lbGVtZW50IHNrcml2ZW4gaSBKYXZhU2NyaXB0Ci0gQ29tbWVudFtwbF09TmF0eXdu eSBhcHBsZXQgQW1hcm9rYSBuYXBpc2FueSB3IEphdmFTY3JpcGNpZQotIENvbW1lbnRbcHRdPVVt YSAnYXBwbGV0JyBuYXRpdmEgZG8gQW1hcm9rLCBmZWl0YSBlbSBKYXZhU2NyaXB0Ci0gQ29tbWVu dFtwdF9CUl09TWluaWFwbGljYXRpdm8gbmF0aXZvIGRvIEFtYXJvayBlc2NyaXRvIGVtIEphdmFT Y3JpcHQKLStDb21tZW50W3J1XT3QkNC/0LvQtdGCIEFtYXJvaywg0L3QsNC/0LjRgdCw0L3QvdGL 0Lkg0L3QsCDRj9C30YvQutC1IEphdmFTY3JpcHQKLSBDb21tZW50W3NyXT3QodCw0LzQvtGB0LLQ vtGY0L3QuCDQkNC80LDRgNC+0LrQvtCyINCw0L/Qu9C10YIg0L3QsNC/0LjRgdCw0L0g0YMg0ZjQ sNCy0LDRgdC60YDQuNC/0YLRgwotIENvbW1lbnRbc3JAbGF0aW5dPVNhbW9zdm9qbmkgQW1hcm9r b3YgYXBsZXQgbmFwaXNhbiB1IEphdmFTY3JpcHR1Ci0gQ29tbWVudFtzdl09RWdldCBBbWFyb2sg bWluaXByb2dyYW0gc2tyaXZldCBpIEphdmFzY3JpcHQKLWRpZmYgLS1naXQgYS9zcmMvY29udGV4 dC9zY3JpcHRlbmdpbmUvamF2YXNjcmlwdC9hbWFyb2stc2NyaXB0ZW5naW5lLXJ1bm5lci1qYXZh c2NyaXB0LmRlc2t0b3AgYi9zcmMvY29udGV4dC9zY3JpcHRlbmdpbmUvamF2YXNjcmlwdC9hbWFy b2stc2NyaXB0ZW5naW5lLXJ1bm5lci1qYXZhc2NyaXB0LmRlc2t0b3AKLWluZGV4IGFhNzlkNzMu LjU2NzJiOGYgMTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9zY3JpcHRlbmdpbmUvamF2YXNjcmlw dC9hbWFyb2stc2NyaXB0ZW5naW5lLXJ1bm5lci1qYXZhc2NyaXB0LmRlc2t0b3AKLSsrKyBiL3Ny Yy9jb250ZXh0L3NjcmlwdGVuZ2luZS9qYXZhc2NyaXB0L2FtYXJvay1zY3JpcHRlbmdpbmUtcnVu bmVyLWphdmFzY3JpcHQuZGVza3RvcAotQEAgLTE3LDYgKzE3LDcgQEAgTmFtZVtubl09SmF2YVNj cmlwdC1rw7h5cmFyIGZvciBBbWFyb2sKLSBOYW1lW3BsXT1KYXZhU2NyaXB0IFJ1bm5lciBBbWFy b2thCi0gTmFtZVtwdF09RXhlY3XDp8OjbyBkZSBKYXZhU2NyaXB0IGRvIEFtYXJvawotIE5hbWVb cHRfQlJdPUV4ZWN1dG9yIEphdmFTY3JpcHQgZG8gQW1hcm9rCi0rTmFtZVtydV090JzQvtC00YPQ u9GMINC30LDQv9GD0YHQutCwIEphdmFTY3JpcHQg0LTQu9GPIEFtYXJvawotIE5hbWVbc3JdPdCQ 0LzQsNGA0L7QutC+0LIg0LjQt9Cy0L7RktCw0Ycg0ZjQsNCy0LDRgdC60YDQuNC/0YLQsAotIE5h bWVbc3JAbGF0aW5dPUFtYXJva292IGl6dm/EkWHEjSBKYXZhU2NyaXB0YQotIE5hbWVbc3ZdPUFt YXJvayBKYXZhc2NyaXB0LWvDtnJwcm9ncmFtCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvc2Vy dmljZXR5cGVzL2FtYXJva19kYXRhX2VuZ2luZS5kZXNrdG9wIGIvc3JjL2NvbnRleHQvc2Vydmlj ZXR5cGVzL2FtYXJva19kYXRhX2VuZ2luZS5kZXNrdG9wCi1pbmRleCA2ZTQyYjJiLi5mYWMxZDFm IDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvc2VydmljZXR5cGVzL2FtYXJva19kYXRhX2VuZ2lu ZS5kZXNrdG9wCi0rKysgYi9zcmMvY29udGV4dC9zZXJ2aWNldHlwZXMvYW1hcm9rX2RhdGFfZW5n aW5lLmRlc2t0b3AKLUBAIC0zMyw3ICszMyw3IEBAIE5hbWVbcGxdPU1vZHXFgiBkYW55Y2ggQW1h cm9rYQotIE5hbWVbcHRdPU1vdG9yIGRlIERhZG9zIGRvIEFtYXJvawotIE5hbWVbcHRfQlJdPU1v dG9yIGRlIERhZG9zIGRvIEFtYXJvawotIE5hbWVbcm9dPU1vdG9yIGRlIGRhdGUgQW1hcm9rCi0t TmFtZVtydV090JTQstC40LbQvtC6INC00LDQvdC90YvRhSBBbWFyb2sKLStOYW1lW3J1XT3QmNGB 0YLQvtGH0L3QuNC6INC00LDQvdC90YvRhSBBbWFyb2sKLSBOYW1lW3NsXT1Qb2RhdGtvdm5pIHBv Z29uIHphIEFtYXJvawotIE5hbWVbc3JdPdCU0LDRgtC+0LzQvtGC0L7RgCDQkNC80LDRgNC+0LrQ sAotIE5hbWVbc3JAbGF0aW5dPURhdG9tb3RvciBBbWFyb2thCi1AQCAtODMsNyArODMsNyBAQCBD b21tZW50W3BsXT1Nb2R1xYIgZGFueWNoIEFtYXJva2EKLSBDb21tZW50W3B0XT1Nb3RvciBkZSBE YWRvcyBkbyBBbWFyb2sKLSBDb21tZW50W3B0X0JSXT1NZWNhbmlzbW8gZGUgRGFkb3MgZG8gQW1h cm9rCi0gQ29tbWVudFtyb109TW90b3IgZGUgZGF0ZSBBbWFyb2sKLS1Db21tZW50W3J1XT3QlNCy 0LjQttC+0Log0LTQsNC90L3Ri9GFIEFtYXJvawotK0NvbW1lbnRbcnVdPdCY0YHRgtC+0YfQvdC4 0Log0LTQsNC90L3Ri9GFIEFtYXJvawotIENvbW1lbnRbc2xdPVBvZGF0a292bmkgcG9nb24gemEg QW1hcm9rCi0gQ29tbWVudFtzcl090JTQsNGC0L7QvNC+0YLQvtGAINCQ0LzQsNGA0L7QutCwCi0g Q29tbWVudFtzckBsYXRpbl09RGF0b21vdG9yIEFtYXJva2EKLWRpZmYgLS1naXQgYS9zcmMvZGlh bG9ncy9UYWdEaWFsb2cuY3BwIGIvc3JjL2RpYWxvZ3MvVGFnRGlhbG9nLmNwcAotaW5kZXggNThm MmVmNC4uMDhkZjg2OCAxMDA2NDQKLS0tLSBhL3NyYy9kaWFsb2dzL1RhZ0RpYWxvZy5jcHAKLSsr KyBiL3NyYy9kaWFsb2dzL1RhZ0RpYWxvZy5jcHAKLUBAIC04ODgsNyArODg4LDcgQEAgdm9pZCBU YWdEaWFsb2c6OnJlYWRUYWdzKCkKLSAgICAgaWYoIG1fY3VycmVudERhdGEuY29udGFpbnMoIE1l dGE6OkZpZWxkOjpDT01QT1NFUiApICkKLSAgICAgICAgIHNlbGVjdE9ySW5zZXJ0VGV4dCggbV9j dXJyZW50RGF0YS52YWx1ZSggTWV0YTo6RmllbGQ6OkNPTVBPU0VSICkudG9TdHJpbmcoKSwgdWkt PmtDb21ib0JveF9jb21wb3NlciApOwotICAgICBlbHNlCi0tICAgICAgICBzZWxlY3RPckluc2Vy dFRleHQoIFFTdHJpbmcoKSwgdWktPmtDb21ib0JveF9nZW5yZSApOwotKyAgICAgICAgc2VsZWN0 T3JJbnNlcnRUZXh0KCBRU3RyaW5nKCksIHVpLT5rQ29tYm9Cb3hfY29tcG9zZXIgKTsKLSAgICAg dWktPnJhdGluZ1dpZGdldC0+c2V0UmF0aW5nKCBtX2N1cnJlbnREYXRhLnZhbHVlKCBNZXRhOjpG aWVsZDo6UkFUSU5HICkudG9JbnQoKSApOwotICAgICB1aS0+cmF0aW5nV2lkZ2V0LT5zZXRNYXhS YXRpbmcoIDEwICk7Ci0gICAgIHVpLT5xU3BpbkJveF90cmFjay0+c2V0VmFsdWUoIG1fY3VycmVu dERhdGEudmFsdWUoIE1ldGE6OkZpZWxkOjpUUkFDS05VTUJFUiApLnRvSW50KCkgKTsKLWRpZmYg LS1naXQgYS9zcmMvaW1hZ2VzL3NwbGFzaF9zY3JlZW4uanBnIGIvc3JjL2ltYWdlcy9zcGxhc2hf c2NyZWVuLmpwZwotaW5kZXggNjUyMWVhZC4uNzBhNjMzYiAxMDA2NDQKLUJpbmFyeSBmaWxlcyBh L3NyYy9pbWFnZXMvc3BsYXNoX3NjcmVlbi5qcGcgYW5kIGIvc3JjL2ltYWdlcy9zcGxhc2hfc2Ny ZWVuLmpwZyBkaWZmZXIKLWRpZmYgLS1naXQgYS9zcmMvbWFpbi5jcHAgYi9zcmMvbWFpbi5jcHAK LWluZGV4IDg1ZTdjODguLmViYzgzMDAgMTAwNjQ0Ci0tLS0gYS9zcmMvbWFpbi5jcHAKLSsrKyBi L3NyYy9tYWluLmNwcAotQEAgLTQwLDcgKzQwLDcgQEAgaW50IG1haW4oIGludCBhcmdjLCBjaGFy ICphcmd2W10gKQotICAgICAgICAgICAgIGtpMThuKCJEZXZlbG9wZXIgKGh5ZHJvZ2VuKSIpLCAi cGFyYWxsZWxncmFwZWZydWl0QGdtYWlsLmNvbSIgKTsKLSAgICAgYWJvdXREYXRhLmFkZEF1dGhv cigga2kxOG4oIklhbiAnVGhlIEJlYXJkJyBNb25yb2UiKSwKLSAgICAgICAgICAgICBraTE4bigi RGV2ZWxvcGVyIChlZWFuKSIpLCAiaWFuQG1vbnJvZS5udSIsICJodHRwOi8vd3d3Lm1vbnJvZS5u dS8iICk7Ci0tICAgIGFib3V0RGF0YS5hZGRBdXRob3IoIGtpMThuKCJKZWZmICdJUk9DS1NPSEFS RCcgTWl0Y2hlbGwiKSwKLSsgICAgYWJvdXREYXRhLmFkZEF1dGhvcigga2kxOG4oIkplZmYgJ0lS T0tTT0hBUkQnIE1pdGNoZWxsIiksCi0gICAgICAgICAgICAga2kxOG4oIkRldmVsb3BlciAoamVm ZmVyYWkpIiksICJtaXRjaGVsbEBrZGUub3JnIiwgImh0dHA6Ly9hbWFyb2sua2RlLm9yZy9ibG9n L2NhdGVnb3JpZXMvMTMtamVmZmVyYWkiICk7Ci0gICAgIGFib3V0RGF0YS5hZGRBdXRob3IoIGtp MThuKCJMZW8gRnJhbmNoaSIpLAotICAgICAgICAgICAgIGtpMThuKCJEZXZlbG9wZXIgKGxmcmFu Y2hpKSIpLCAibGZyYW5jaGlAa2RlLm9yZyIgKTsKLWRpZmYgLS1naXQgYS9zcmMvcGxheWxpc3Qv UGxheWxpc3RNb2RlbC5jcHAgYi9zcmMvcGxheWxpc3QvUGxheWxpc3RNb2RlbC5jcHAKLWluZGV4 IGI0NjMwMGMuLmM2YWQ2MTYgMTAwNjQ0Ci0tLS0gYS9zcmMvcGxheWxpc3QvUGxheWxpc3RNb2Rl bC5jcHAKLSsrKyBiL3NyYy9wbGF5bGlzdC9QbGF5bGlzdE1vZGVsLmNwcAotQEAgLTYxMCw2ICs2 MTAsNyBAQCBQbGF5bGlzdDo6TW9kZWw6Om1ldGFkYXRhQ2hhbmdlZCggTWV0YTo6VHJhY2tQdHIg dHJhY2sgKQotICAgICAgICAgewotICAgICAgICAgICAgIGVtaXQgZGF0YUNoYW5nZWQoIGNyZWF0 ZUluZGV4KCBpLCAwICksIGNyZWF0ZUluZGV4KCBpLCBjb2x1bW5Db3VudCgpIC0gMSApICk7Ci0g ICAgICAgICAgICAgZW1pdCBtZXRhZGF0YVVwZGF0ZWQoKTsKLSsgICAgICAgICAgICBkZWJ1Zygp PDwiTWV0YWRhdGEgdXBkYXRlZCBmb3IgdHJhY2siPDx0cmFjay0+cHJldHR5TmFtZSgpOwotICAg ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgfQotICAgICB9Ci1AQCAtNjIxLDEzICs2MjIsMTIg QEAgUGxheWxpc3Q6Ok1vZGVsOjptZXRhZGF0YUNoYW5nZWQoIE1ldGE6OkFsYnVtUHRyIGFsYnVt ICkKLSAgICAgTWV0YTo6VHJhY2tMaXN0IHRyYWNrcyA9IGFsYnVtLT50cmFja3MoKTsKLSAgICAg Zm9yZWFjaCggTWV0YTo6VHJhY2tQdHIgdHJhY2ssIHRyYWNrcyApCi0gICAgICAgICBtZXRhZGF0 YUNoYW5nZWQoIHRyYWNrICk7Ci0rICAgIGRlYnVnKCk8PCJBbGJ1bSBtZXRhZGF0YSBjaGFuZ2Vk IjsKLSB9Ci0gCi0gYm9vbAotIFBsYXlsaXN0OjpNb2RlbDo6ZXhwb3J0UGxheWxpc3QoIGNvbnN0 IFFTdHJpbmcgJnBhdGggKSBjb25zdAotIHsKLS0gICAgREVCVUdfQkxPQ0sKLS0gICAgZGVidWco KSA8PCAiV0FSTklORzogWW91IHNob3VsZG4ndCBzZWUgdGhpcyBhdCBhbnkgdGltZSBleGNlcHQg b24gZXhpdC4iOwotICAgICByZXR1cm4gVGhlOjpwbGF5bGlzdE1hbmFnZXIoKS0+ZXhwb3J0UGxh eWxpc3QoIHRyYWNrcygpLCBwYXRoICk7Ci0gfQotIAotZGlmZiAtLWdpdCBhL3NyYy9wbGF5bGlz dC9wcm94eW1vZGVscy9GaWx0ZXJQcm94eS5jcHAgYi9zcmMvcGxheWxpc3QvcHJveHltb2RlbHMv RmlsdGVyUHJveHkuY3BwCi1pbmRleCAyMzQxYmU0Li41MjU0MjM2IDEwMDY0NAotLS0tIGEvc3Jj L3BsYXlsaXN0L3Byb3h5bW9kZWxzL0ZpbHRlclByb3h5LmNwcAotKysrIGIvc3JjL3BsYXlsaXN0 L3Byb3h5bW9kZWxzL0ZpbHRlclByb3h5LmNwcAotQEAgLTMyLDcgKzMyLDcgQEAgRmlsdGVyUHJv eHk6OkZpbHRlclByb3h5KCBBYnN0cmFjdE1vZGVsICpiZWxvd01vZGVsLCBRT2JqZWN0ICpwYXJl bnQgKQotICAgICBjb25uZWN0KCBzb3VyY2VNb2RlbCgpLCBTSUdOQUwoIHJlbW92ZWRJZHMoIGNv bnN0IFFMaXN0PHF1aW50NjQ+JiApICksIHRoaXMsIFNMT1QoIHNsb3RSZW1vdmVkSWRzKCBjb25z dCBRTGlzdDxxdWludDY0PiYgKSApICk7Ci0gICAgIGNvbm5lY3QoIHNvdXJjZU1vZGVsKCksIFNJ R05BTCggYWN0aXZlVHJhY2tDaGFuZ2VkKCBjb25zdCBxdWludDY0ICkgKSwgdGhpcywgU0lHTkFM KCBhY3RpdmVUcmFja0NoYW5nZWQoIHF1aW50NjQgKSApICk7Ci0gICAgIGNvbm5lY3QoIHNvdXJj ZU1vZGVsKCksIFNJR05BTCggbWV0YWRhdGFVcGRhdGVkKCkgKSwgdGhpcywgU0lHTkFMKCBtZXRh ZGF0YVVwZGF0ZWQoKSApICk7Ci0tICAgIGNvbm5lY3QoIHRoaXMsIFNJR05BTCggbWV0YWRhdGFV cGRhdGVkKCkgKSwgdGhpcywgU0xPVCggaW52YWxpZGF0ZSgpICkgKTsKLSsgICAgY29ubmVjdCgg dGhpcywgU0lHTkFMKCBtZXRhZGF0YVVwZGF0ZWQoKSApLCB0aGlzLCBTTE9UKCBzbG90SW52YWxp ZGF0ZUZpbHRlcigpICkgKTsKLSAKLSAgICAgS0NvbmZpZ0dyb3VwIGNvbmZpZyA9IEFtYXJvazo6 Y29uZmlnKCJQbGF5bGlzdCBTZWFyY2giKTsKLSAgICAgbV9wYXNzVGhyb3VnaCA9ICFjb25maWcu cmVhZEVudHJ5KCAiU2hvd09ubHlNYXRjaGVzIiwgdHJ1ZSApOwotZGlmZiAtLWdpdCBhL3NyYy9w bGF5bGlzdC9wcm94eW1vZGVscy9GaWx0ZXJQcm94eS5oIGIvc3JjL3BsYXlsaXN0L3Byb3h5bW9k ZWxzL0ZpbHRlclByb3h5LmgKLWluZGV4IDQ3ODc2YWQuLjY1ZWNlMDkgMTAwNjQ0Ci0tLS0gYS9z cmMvcGxheWxpc3QvcHJveHltb2RlbHMvRmlsdGVyUHJveHkuaAotKysrIGIvc3JjL3BsYXlsaXN0 L3Byb3h5bW9kZWxzL0ZpbHRlclByb3h5LmgKLUBAIC0xMjIsNiArMTIyLDEyIEBAIHByb3RlY3Rl ZCBzbG90czoKLSAgICAgICovCi0gICAgIHZvaWQgc2xvdFJlbW92ZWRJZHMoIGNvbnN0IFFMaXN0 PHF1aW50NjQ+ICZpZHMgKTsKLSAKLSsgICAgLyoqCi0rICAgICAqIFNsb3QgdGhhdCB3cmFwcyBh cm91bmQgdGhlIG1ldGhvZCBpbnZhbGlkYXRlRmlsdGVyKCkgc28gb25lIGRvZXNuJ3QgdHJpZ2dl ciB0aGUKLSsgICAgICogc29ydGluZyBpbnZhbGlkYXRpb24gdG9vIGJ5IHVzaW5nIGludmFsaWRh dGUoKS4KLSsgICAgICovCi0rICAgIHZvaWQgc2xvdEludmFsaWRhdGVGaWx0ZXIoKXsgaW52YWxp ZGF0ZUZpbHRlcigpOyB9Ci0rCi0gc2lnbmFsczoKLSAgICAgLyoqCi0gICAgICAqIFNpZ25hbCBm b3J3YXJkZWQgZnJvbSB0aGUgc291cmNlIG1vZGVsLgotZGlmZiAtLWdpdCBhL3NyYy9wbGF5bGlz dC9wcm94eW1vZGVscy9Tb3J0UHJveHkuY3BwIGIvc3JjL3BsYXlsaXN0L3Byb3h5bW9kZWxzL1Nv cnRQcm94eS5jcHAKLWluZGV4IDQ2NjUzYzEuLmVmYmEyY2QgMTAwNjQ0Ci0tLS0gYS9zcmMvcGxh eWxpc3QvcHJveHltb2RlbHMvU29ydFByb3h5LmNwcAotKysrIGIvc3JjL3BsYXlsaXN0L3Byb3h5 bW9kZWxzL1NvcnRQcm94eS5jcHAKLUBAIC0zNSw3ICszNSw3IEBAIFNvcnRQcm94eTo6U29ydFBy b3h5KCBBYnN0cmFjdE1vZGVsICpiZWxvd01vZGVsLCBRT2JqZWN0ICpwYXJlbnQgKQotICAgICBj b25uZWN0KCBzb3VyY2VNb2RlbCgpLCBTSUdOQUwoIHJlbW92ZWRJZHMoIGNvbnN0IFFMaXN0PHF1 aW50NjQ+JiApICksIHRoaXMsIFNJR05BTCggcmVtb3ZlZElkcyggY29uc3QgUUxpc3Q8IHF1aW50 NjQgPiYgKSApICk7Ci0gICAgIGNvbm5lY3QoIHNvdXJjZU1vZGVsKCksIFNJR05BTCggYWN0aXZl VHJhY2tDaGFuZ2VkKCBjb25zdCBxdWludDY0ICkgKSwgdGhpcywgU0lHTkFMKCBhY3RpdmVUcmFj a0NoYW5nZWQoIHF1aW50NjQgKSApICk7Ci0gICAgIGNvbm5lY3QoIHNvdXJjZU1vZGVsKCksIFNJ R05BTCggbWV0YWRhdGFVcGRhdGVkKCkgKSwgdGhpcywgU0lHTkFMKCBtZXRhZGF0YVVwZGF0ZWQo KSApICk7Ci0tICAgIGNvbm5lY3QoIHRoaXMsIFNJR05BTCggbWV0YWRhdGFVcGRhdGVkKCkgKSwg dGhpcywgU0xPVCggaW52YWxpZGF0ZSgpICkgKTsKLSsgICAgY29ubmVjdCggdGhpcywgU0lHTkFM KCBtZXRhZGF0YVVwZGF0ZWQoKSApLCB0aGlzLCBTTE9UKCBpbnZhbGlkYXRlU29ydGluZygpICkg KTsKLSAKLSAgICAgLy9uZWVkZWQgYnkgR3JvdXBpbmdQcm94eToKLSAgICAgY29ubmVjdCggc291 cmNlTW9kZWwoKSwgU0lHTkFMKCBsYXlvdXRDaGFuZ2VkKCkgKSwgdGhpcywgU0lHTkFMKCBsYXlv dXRDaGFuZ2VkKCkgKSApOwotQEAgLTQ4LDYgKzQ4LDI3IEBAIFNvcnRQcm94eTo6flNvcnRQcm94 eSgpCi0gdm9pZAotIFNvcnRQcm94eTo6aW52YWxpZGF0ZVNvcnRpbmcoKQotIHsKLSsgICAgaWYo IG1fc2NoZW1lLmxlbmd0aCgpICkKLSsgICAgewotKyAgICAgICAgaWYoICEoIG1fc2NoZW1lLmxl dmVsKCBtX3NjaGVtZS5sZW5ndGgoKSAtIDEgKS5jYXRlZ29yeSgpID09IC0xICkgKSAvL2lmIGl0 J3Mgbm90IHJhbmRvbQotKyAgICAgICAgewotKyAgICAgICAgICAgIGludmFsaWRhdGUoKTsKLSsg ICAgICAgIH0KLSsgICAgfQotKyAgICBlbHNlCi0rICAgICAgICBpbnZhbGlkYXRlKCk7Ci0rICAg IC8vRklYTUU6IHRoaXMgaXMgYSBiYW5kLWFpZCBzbyB0aGF0IHRoZSBwbGF5bGlzdCBkb2Vzbid0 IHJlc2h1ZmZsZSBldmVyeSB0aW1lIHRoZSBjdXJyZW50IHRyYWNrIGNoYW5nZXMKLSsgICAgLy8g SG93ZXZlciB0aGUgcmVhbCBpc3N1ZSBpcyBkZWVwZXIsIHRoZSBPYnNlcnZlciBzZWVtcyB0byBu b3RpZnkgbWV0YWRhdGFDaGFuZ2VkKCkgZXZlbiBpZiB0aGUgbWV0YWRhdGEKLSsgICAgLy8gb2Yg YSB0cmFjayBkb2Vzbid0IGNoYW5nZSBidXQganVzdCB0aGUgY3VycmVudGx5IGFjdGl2ZSB0cmFj ayBjaGFuZ2VzLCBhbmQgdGhpcyByZXN1bHRzIGluIHRoZSBwbGF5bGlzdAotKyAgICAvLyBiZWlu ZyByZXNvcnRlZCBvbiBldmVyeSAibmV4dCIsICJwcmV2aW91cyIgb3IgdHJhY2sgc2VsZWN0aW9u LiBUd2ljZS4gVGhpcyBpcyBhIEJhZCBUaGluZyAoVE0pIGFuZCB2ZXJ5Ci0rICAgIC8vIGluZWZm aWNpZW50LgotKyAgICAvLyBXZSdyZSBzaGlwcGluZyAyLjIgYXMgaXQgaXMsIGJlY2F1c2UgaXQn cyB3YXkgdG9vIGxhdGUgdG8gZ28gcG9raW5nIGFyb3VuZCBPYnNlcnZlciwgYnV0IHRoaXMgbmVl ZHMKLSsgICAgLy8gdG8gYmUgc29sdmVkIEFTQVAgcG9zdC0yLjIuICAgICAgLS1Uw6lvIDIzLzkv MjAwOQotK30KLSsKLSt2b2lkCi0rU29ydFByb3h5OjpyZXNldFNvcnRpbmcoKQotK3sKLSAgICAg bV9zY2hlbWUgPSBTb3J0U2NoZW1lKCk7Ci0gICAgIHJlc2V0KCk7Ci0gfQotQEAgLTY0LDcgKzg1 LDcgQEAgU29ydFByb3h5OjpsZXNzVGhhbiggY29uc3QgUU1vZGVsSW5kZXggJiBsZWZ0LCBjb25z dCBRTW9kZWxJbmRleCAmIHJpZ2h0ICkgY29uc3QKLSB2b2lkCi0gU29ydFByb3h5Ojp1cGRhdGVT b3J0TWFwKCBTb3J0U2NoZW1lIHNjaGVtZSApCi0gewotLSAgICBpbnZhbGlkYXRlU29ydGluZygp OwotKyAgICByZXNldFNvcnRpbmcoKTsKLSAgICAgbV9zY2hlbWUgPSBzY2hlbWU7Ci0gICAgIHNv cnQoIDAgKTsgIC8vMCBpcyBhIGR1bW15IGNvbHVtbgotICAgICAvL0hBQ0s6IHNvcnQoKSBpbnZl cnRzIHRoZSBzb3J0T3JkZXIgb24gZWFjaCBjYWxsLCB0aGlzIGtlZXBzIHRoZSBvcmRlciBhc2Nl bmRpbmcuCi1kaWZmIC0tZ2l0IGEvc3JjL3BsYXlsaXN0L3Byb3h5bW9kZWxzL1NvcnRQcm94eS5o IGIvc3JjL3BsYXlsaXN0L3Byb3h5bW9kZWxzL1NvcnRQcm94eS5oCi1pbmRleCBlYmM3NDVmLi4z NmNiNzA0IDEwMDY0NAotLS0tIGEvc3JjL3BsYXlsaXN0L3Byb3h5bW9kZWxzL1NvcnRQcm94eS5o Ci0rKysgYi9zcmMvcGxheWxpc3QvcHJveHltb2RlbHMvU29ydFByb3h5LmgKLUBAIC02Myw3ICs2 Myw3IEBAIHB1YmxpYyBzbG90czoKLSAgICAgLyoqCi0gICAgICAqIFJlc2V0cyB0aGUgcHJveHkg dG8gaXRzIG9yaWdpbmFsIHBhc3MtdGhyb3VnaCBzdGF0ZS4KLSAgICAgICovCi0tICAgIHZvaWQg aW52YWxpZGF0ZVNvcnRpbmcoKTsKLSsgICAgdm9pZCByZXNldFNvcnRpbmcoKTsKLSAKLSBwcm90 ZWN0ZWQ6Ci0gICAgIC8qKgotQEAgLTgyLDYgKzgyLDEyIEBAIHByb3RlY3RlZDoKLSAgICAgICov Ci0gICAgIHZpcnR1YWwgaW50IHJvd1RvU291cmNlKCBpbnQgcm93ICkgY29uc3Q7Ci0gCi0rcHJv dGVjdGVkIHNsb3RzOgotKyAgICAvKioKLSsgICAgICogUmVhcHBsaWVzIHRoZSBjdXJyZW50IHNv cnRpbmcgc2NoZW1lLgotKyAgICAgKi8KLSsgICAgdm9pZCBpbnZhbGlkYXRlU29ydGluZygpOwot KwotIHByaXZhdGU6Ci0gICAgIFNvcnRTY2hlbWUgbV9zY2hlbWU7ICAgICAgICAgICAgICAgLy8h IFRoZSBjdXJyZW50IHNvcnRpbmcgc2NoZW1lLgotIH07Ci1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZp Y2VzL21wM3R1bmVzL2FtYXJva19zZXJ2aWNlX21wM3R1bmVzLmRlc2t0b3AgYi9zcmMvc2Vydmlj ZXMvbXAzdHVuZXMvYW1hcm9rX3NlcnZpY2VfbXAzdHVuZXMuZGVza3RvcAotaW5kZXggZDJiM2E3 OS4uOGIwOTM3ZCAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2aWNlcy9tcDN0dW5lcy9hbWFyb2tfc2Vy dmljZV9tcDN0dW5lcy5kZXNrdG9wCi0rKysgYi9zcmMvc2VydmljZXMvbXAzdHVuZXMvYW1hcm9r X3NlcnZpY2VfbXAzdHVuZXMuZGVza3RvcAotQEAgLTcwLDcgKzcwLDcgQEAgQ29tbWVudFtwbF09 UHJ6ZWdsxIVkYWogaSBzxYJ1Y2hhaiBtdXp5a2kgcHJ6ZWNob3d5d2FuZWogbmEgdHdvaW0ga29u Y2llIE1wM3R1bmUKLSBDb21tZW50W3B0XT1OYXZlZ2FyIGUgZXNjdXRhciBhIG3DunNpY2EgZ3Jh dmFkYSBuYSBzdWEgY29udGEgZG8gbXAzdHVuZXMKLSBDb21tZW50W3B0X0JSXT1OYXZlZ3VlIGUg ZXNjdXRlIGFzIG3DunNpY2FzIGFybWF6ZW5hZGFzIG5hIHN1YSBjb250YSBkbyBtcDN0dW5lcwot IENvbW1lbnRbcm9dPVLEg3Nmb2nIm2kgyJlpIGFzY3VsdGHIm2kgbXV6aWNhIHN0b2NhdMSDIMOu biBjb250dWwgZHVtbmVhdm9hc3RyxIMgbXAzdHVuZXMKLS1Db21tZW50W3J1XT3QntCx0LfQvtGA INC4INC/0YDQvtGB0LvRg9GI0LjQstCw0L3QuNC1INC80YPQt9GL0LrQuCwg0YHQvtGF0YDQsNC9 0LXQvdC90L7QuSDQsiDQsNC60LrQsNGD0L3RgtC1IE1wM3R1bmVzCi0rQ29tbWVudFtydV090J7Q sdC30L7RgCDQuCDQv9GA0L7RgdC70YPRiNC40LLQsNC90LjQtSDQvNGD0LfRi9C60LgsINGB0L7R hdGA0LDQvdC10L3QvdC+0Lkg0LIg0YPRh9GR0YLQvdC+0Lkg0LfQsNC/0LjRgdC4IE1wM3R1bmVz Ci0gQ29tbWVudFtzbF09QnJza2FqdGUgcG8gZ2xhc2JpLCBraSBqbyBpbWF0ZSBzaHJhbmplbm8g bmEgc3ZvamVtIHJhxI11bnUgTVAzdHVuZXMsIGluIGpvIHBvc2x1xaFhanRlCi0gQ29tbWVudFtz cl090J/RgNC10LPQu9C10LTQsNGY0YLQtSDQuCDRgdC70YPRiNCw0ZjRgtC1INC80YPQt9C40LrR gyDRgdCwINGB0LLQvtCzINC90LDQu9C+0LPQsCDQvdCwINCc0J8z4oCR0YLRmNGD0L3RgdGDCi0g Q29tbWVudFtzckBsYXRpbl09UHJlZ2xlZGFqdGUgaSBzbHXFoWFqdGUgbXV6aWt1IHNhIHN2b2cg bmFsb2dhIG5hIE1QM1R1bmVzdQotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2aWNlcy9vcG1sZGlyZWN0 b3J5L2FtYXJva19zZXJ2aWNlX29wbWxkaXJlY3RvcnkuZGVza3RvcCBiL3NyYy9zZXJ2aWNlcy9v cG1sZGlyZWN0b3J5L2FtYXJva19zZXJ2aWNlX29wbWxkaXJlY3RvcnkuZGVza3RvcAotaW5kZXgg ZjgyMWUxNy4uMDNjMDhjOCAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2aWNlcy9vcG1sZGlyZWN0b3J5 L2FtYXJva19zZXJ2aWNlX29wbWxkaXJlY3RvcnkuZGVza3RvcAotKysrIGIvc3JjL3NlcnZpY2Vz L29wbWxkaXJlY3RvcnkvYW1hcm9rX3NlcnZpY2Vfb3BtbGRpcmVjdG9yeS5kZXNrdG9wCi1AQCAt MjcsNyArMjcsNyBAQCBOYW1lW3BsXT1LYXRhbG9nIHBvZGNhc3TDs3cKLSBOYW1lW3B0XT1QYXN0 YSBkZSAnUG9kY2FzdHMnCi0gTmFtZVtwdF9CUl09UG9kY2FzdCBEaXJlY3RvcnkKLSBOYW1lW3Jv XT1EaXJlY3RvciBQb2RjYXN0Ci0tTmFtZVtydV090JrQsNGC0LDQu9C+0LMg0LTQu9GPIHBvZGNh c3Qn0L7QsgotK05hbWVbcnVdPdCa0LDRgtCw0LvQvtCzINC/0L7QtNC60LDRgdGC0L7QsgotIE5h bWVbc2xdPUltZW5payBwb2RjYXN0b3YKLSBOYW1lW3NyXT3QpNCw0YHRhtC40LrQu9CwINC/0L7Q tNC10LzQuNGB0LjRmNCwCi0gTmFtZVtzckBsYXRpbl09RmFzY2lrbGEgcG9kZW1pc2lqYQotQEAg LTY5LDcgKzY5LDcgQEAgQ29tbWVudFtwbF09UHJ6ZWdsxIVkYWogaSB6YXBpc3ogc2nEmSBkbyBv Z3JvbW5laiBsaXN0eSBwb2RjYXN0w7N3Ci0gQ29tbWVudFtwdF09TmF2ZWdhciBlIGluc2NyZXZl ciBudW1hIGVub3JtZSBsaXN0YSBkZSAncG9kY2FzdHMnCi0gQ29tbWVudFtwdF9CUl09TmF2ZWd1 ZSBlIGluc2Nyw6p2YS1zZSDDoCB1bWEgbGlzdGEgZW5vcm1lIGRlIHBvZGNhc3RzCi0gQ29tbWVu dFtyb109UsSDc2ZvacibaSDImWkgYWJvbmHIm2ktdsSDIGxhIG8gbGlzdMSDIHVyaWHImcSDIGRl IHBvZGNhc3R1cmkKLS1Db21tZW50W3J1XT3QntCx0LfQvtGAINC4INC/0L7QtNC/0LjRgdC60LAg 0L3QsCDQvtCz0YDQvtC80L3Ri9C5INGB0L/QuNGB0L7QuiBwb2RjYXN0J9C+0LIKLStDb21tZW50 W3J1XT3QntCx0LfQvtGAINC4INC/0L7QtNC/0LjRgdC60LAg0L3QsCDQvtCz0YDQvtC80L3Ri9C5 INGB0L/QuNGB0L7QuiDQv9C+0LTQutCw0YHRgtC+0LIKLSBDb21tZW50W3NsXT1CcnNrYWp0ZSBw byBvYnNlxb5uaSB6Ymlya2kgcG9kY2FzdG92IGluIHNlIG5hcm/EjWl0ZSBuYW5qZQotIENvbW1l bnRbc3JdPdCf0YDQtdCz0LvQtdC00LDRmNGC0LUg0Lgg0L/RgNC10YLQv9C70LDRgtC40YLQtSDR gdC1INC90LAg0L7Qs9GA0L7QvNC90YMg0LvQuNGB0YLRgyDQv9C+0LTQtdC80LjRgdC40ZjQsAot IENvbW1lbnRbc3JAbGF0aW5dPVByZWdsZWRhanRlIGkgcHJldHBsYXRpdGUgc2UgbmEgb2dyb21u dSBsaXN0dSBwb2RlbWlzaWphCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXgg NDVkNDNkMC4uODNlNTAwYyAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0x ICsxIEBACi1lYzcyN2VkNzJjNWQzNzFmYjY1OWNlMGMzYzFlNjEzNiAgYW1hcm9rLTIuMS45MC50 YXIuYnoyCis1YTAxODhjNWViN2QzNDMxMDliODI5NjQ5NDJkOGViNSAgYW1hcm9rLTIuMi4wLnRh ci5iejIK