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: Sumit Bose To: git-commits@fedoraproject.org Subject: [rpms/realmd] rawhide: sync with latest upstream patches Date: Thu, 25 Jun 2026 12:01:45 GMT Message-ID: <178238890518.1.17645956437046536477.rpms-realmd-0ba19c36de45@fedoraproject.org> List-ID: X-Git-Repo: rpms/realmd X-Git-Branch: rawhide X-Git-Rev: 0ba19c36de451f3447d44814218975afb38acb60 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcmVhbG1kCkJyYW5j aCA6IHJhd2hpZGUKQ29tbWl0IDogMGJhMTljMzZkZTQ1MWYzNDQ3ZDQ0ODE0MjE4OTc1YWZiMzhh Y2I2MApBdXRob3IgOiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgpEYXRlICAgOiAyMDI2 LTA2LTI1VDEzOjQyOjEwKzAyOjAwClN0YXRzICA6ICszNDUzLy0xIGluIDIxIGZpbGUocykKVVJM ICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9yZWFsbWQvYy8wYmExOWMz NmRlNDUxZjM0NDdkNDQ4MTQyMTg5NzVhZmIzOGFjYjYwP2JyYW5jaD1yYXdoaWRlCgpMb2c6CnN5 bmMgd2l0aCBsYXRlc3QgdXBzdHJlYW0gcGF0Y2hlcwoKLS0tCmRpZmYgLS1naXQgYS8wMDAxLVRl c3RzLWluaXRpYWwtZnJhbWV3b3JrLWFuZC10ZXN0cy1mb3ItcmVhbG0ucGF0Y2ggYi8wMDAxLVRl c3RzLWluaXRpYWwtZnJhbWV3b3JrLWFuZC10ZXN0cy1mb3ItcmVhbG0ucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTliNTgxNgotLS0gL2Rldi9udWxsCisrKyBiLzAw MDEtVGVzdHMtaW5pdGlhbC1mcmFtZXdvcmstYW5kLXRlc3RzLWZvci1yZWFsbS5wYXRjaApAQCAt MCwwICsxLDUzOCBAQAorRnJvbSAyYzlmMDI5Y2NjNDg2NDQ5ODc4NzQyNDIwYjUyNGQzNTc2Y2Vi NjkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogc2hyaWRoYXJnYWRla2FyIDxzaHJp ZGhhci5hbHdheXNAZ21haWwuY29tPgorRGF0ZTogTW9uLCAyIEp1biAyMDI1IDIyOjA3OjQ4ICsw NTMwCitTdWJqZWN0OiBbUEFUQ0ggMDEvMjBdIFRlc3RzOiBpbml0aWFsIGZyYW1ld29yayBhbmQg dGVzdHMgZm9yIHJlYWxtCisKK0luaXRpYWwgZnJhbWV3b3JrIHJlbGF0ZWQgY29uZmlndXJhdGlv bnMuIEVsZW1lbnRhcnkgdGVzdGNhc2VzCit0byB0ZXN0IGZ1bmRhbWVudGFsIG1ldGhvZHMgb2Yg cmVhbG0KKworUmV2aWV3ZWQtYnk6IEpha3ViIFZhdnJhIDxqdmF2cmFAcmVkaGF0LmNvbT4KK1Jl dmlld2VkLWJ5OiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgorLS0tCisgdGVzdHMvX19p bml0X18ucHkgICAgICAgICAgICAgfCAgIDAKKyB0ZXN0cy9jb25mdGVzdC5weSAgICAgICAgICAg ICB8ICAyMCArKysrKysrCisgdGVzdHMvbWhjLnlhbWwgICAgICAgICAgICAgICAgfCAgNDggKysr KysrKysrKysrKysrCisgdGVzdHMvcHlwcm9qZWN0LnRvbWwgICAgICAgICAgfCAgMTggKysrKysr CisgdGVzdHMvcHl0ZXN0LmluaSAgICAgICAgICAgICAgfCAgMTUgKysrKysKKyB0ZXN0cy9yZWFk bWUucHl0ZXN0ICAgICAgICAgICB8ICAyOCArKysrKysrKysKKyB0ZXN0cy9yZXF1aXJlbWVudHMu dHh0ICAgICAgICB8ICAgNyArKysKKyB0ZXN0cy9zZXR1cC5jZmcgICAgICAgICAgICAgICB8ICAx MiArKysrCisgdGVzdHMvdGVzdF9yZWFsbWQucHkgICAgICAgICAgfCAgNzAgKysrKysrKysrKysr KysrKysrKysrKworIHRlc3RzL3RvcG9sb2d5LnB5ICAgICAgICAgICAgIHwgMTA5ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKworIHRlc3RzL3RvcG9sb2d5X2NvbnRyb2xsZXJzLnB5 IHwgMTEwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxMSBmaWxlcyBjaGFu Z2VkLCA0MzcgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9fX2luaXRf Xy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9jb25mdGVzdC5weQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0ZXN0cy9taGMueWFtbAorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9weXByb2pl Y3QudG9tbAorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9weXRlc3QuaW5pCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IHRlc3RzL3JlYWRtZS5weXRlc3QKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMv cmVxdWlyZW1lbnRzLnR4dAorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9zZXR1cC5jZmcKKyBj cmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvdGVzdF9yZWFsbWQucHkKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgdGVzdHMvdG9wb2xvZ3kucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvdG9wb2xvZ3lf Y29udHJvbGxlcnMucHkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL19faW5pdF9fLnB5IGIvdGVzdHMv X19pbml0X18ucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5lNjlkZTI5 CitkaWZmIC0tZ2l0IGEvdGVzdHMvY29uZnRlc3QucHkgYi90ZXN0cy9jb25mdGVzdC5weQorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmM1M2FlNWYKKy0tLSAvZGV2L251bGwK KysrKyBiL3Rlc3RzL2NvbmZ0ZXN0LnB5CitAQCAtMCwwICsxLDIwIEBACisrIyBDb25maWd1cmF0 aW9uIGZpbGUgZm9yIG11bHRpaG9zdCB0ZXN0cy4KKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0 IGFubm90YXRpb25zCisrCisrZnJvbSBweXRlc3RfbWggaW1wb3J0IE11bHRpaG9zdFBsdWdpbgor K2Zyb20gc3NzZF90ZXN0X2ZyYW1ld29yay5jb25maWcgaW1wb3J0IFNTU0RNdWx0aWhvc3RDb25m aWcKKysKKysjIExvYWQgYWRkaXRpb25hbCBwbHVnaW5zCisrcHl0ZXN0X3BsdWdpbnMgPSAoCisr ICAgICJweXRlc3RfaW1wb3J0YW5jZSIsCisrICAgICJweXRlc3RfbWgiLAorKyAgICAicHl0ZXN0 X3RpY2tldCIsCisrICAgICJzc3NkX3Rlc3RfZnJhbWV3b3JrLmZpeHR1cmVzIiwKKysgICAgInNz c2RfdGVzdF9mcmFtZXdvcmsubWFya2VycyIsCisrKQorKworKworK2RlZiBweXRlc3RfcGx1Z2lu X3JlZ2lzdGVyZWQocGx1Z2luKSAtPiBOb25lOgorKyAgICBpZiBpc2luc3RhbmNlKHBsdWdpbiwg TXVsdGlob3N0UGx1Z2luKToKKysgICAgICAgIHBsdWdpbi5jb25maWdfY2xhc3MgPSBTU1NETXVs dGlob3N0Q29uZmlnCitkaWZmIC0tZ2l0IGEvdGVzdHMvbWhjLnlhbWwgYi90ZXN0cy9taGMueWFt bAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjE3NjE3M2YKKy0tLSAvZGV2 L251bGwKKysrKyBiL3Rlc3RzL21oYy55YW1sCitAQCAtMCwwICsxLDQ4IEBACisrZG9tYWluczoK KystIGlkOiBzc3NkCisrICBob3N0czoKKysgIC0gaG9zdG5hbWU6IGNsaWVudC50ZXN0CisrICAg IHJvbGU6IGNsaWVudAorKyAgICBhcnRpZmFjdHM6CisrICAgIC0gL2V0Yy9zc3NkLyoKKysgICAg LSAvdmFyL2xvZy9zc3NkLyoKKysgICAgLSAvdmFyL2xpYi9zc3MvZGIvKgorKworKyAgLSBob3N0 bmFtZTogZGMuYWQudGVzdAorKyAgICByb2xlOiBhZAorKyAgICBvczoKKysgICAgICBmYW1pbHk6 IHdpbmRvd3MKKysgICAgY29ubjoKKysgICAgICB0eXBlOiBzc2gKKysgICAgICB1c2VybmFtZTog QWRtaW5pc3RyYXRvckBhZC50ZXN0CisrICAgICAgcGFzc3dvcmQ6IHZhZ3JhbnQKKysgICAgY29u ZmlnOgorKyAgICAgIGFkbWlucHc6IHZhZ3JhbnQKKysgICAgICBjbGllbnQ6CisrICAgICAgICBh ZF9kb21haW46IGFkLnRlc3QKKysKKysgIC0gaG9zdG5hbWU6IGRjLnNhbWJhLnRlc3QKKysgICAg cm9sZTogc2FtYmEKKysgICAgY29uZmlnOgorKyAgICAgIGJpbmRkbjogQ049QWRtaW5pc3RyYXRv cixDTj1Vc2VycyxEQz1zYW1iYSxEQz10ZXN0CisrICAgICAgYmluZHB3OiBTZWNyZXQxMjMKKysg ICAgICBjbGllbnQ6CisrICAgICAgICBhZF9kb21haW46IHNhbWJhLnRlc3QKKysgICAgICAgIGty YjVfa2V5dGFiOiAvdmFyL2Vucm9sbG1lbnQvc2FtYmEudGVzdC5rZXl0YWIKKysgICAgICAgIGxk YXBfa3JiNV9rZXl0YWI6IC92YXIvZW5yb2xsbWVudC9zYW1iYS50ZXN0LmtleXRhYgorKworKyAg LSBob3N0bmFtZTogbWFzdGVyLmlwYS50ZXN0CisrICAgIHJvbGU6IGlwYQorKyAgICBjb25maWc6 CisrICAgICAgY2xpZW50OgorKyAgICAgICAgaXBhX2RvbWFpbjogaXBhLnRlc3QKKysgICAgICAg IGtyYjVfa2V5dGFiOiAvdmFyL2Vucm9sbG1lbnQvaXBhLnRlc3Qua2V5dGFiCisrICAgICAgICBs ZGFwX2tyYjVfa2V5dGFiOiAvdmFyL2Vucm9sbG1lbnQvaXBhLnRlc3Qua2V5dGFiCisrICAgIGFy dGlmYWN0czoKKysgICAgLSAvZXRjL3Nzc2QvKgorKyAgICAtIC92YXIvbG9nL2RpcnNydi8qCisr ICAgIC0gL3Zhci9sb2cvaHR0cGQvKgorKyAgICAtIC92YXIvbG9nL2lwYS8qCisrICAgIC0gL3Zh ci9sb2cva3JiNWtkYy5sb2cKKysgICAgLSAvdmFyL2xvZy9zc3NkLyoKKysgICAgLSAvdmFyL2xp Yi9zc3MvZGIvKgorZGlmZiAtLWdpdCBhL3Rlc3RzL3B5cHJvamVjdC50b21sIGIvdGVzdHMvcHlw cm9qZWN0LnRvbWwKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zY2ZjZTQ2 CistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy9weXByb2plY3QudG9tbAorQEAgLTAsMCArMSwx OCBAQAorK1t0b29sLm15cHldCisrZXhjbHVkZSA9ICJkb2NzIgorKworK1tbdG9vbC5teXB5Lm92 ZXJyaWRlc11dCisrbW9kdWxlID0gImpjLioiCisraWdub3JlX21pc3NpbmdfaW1wb3J0cyA9IHRy dWUKKysKKytbW3Rvb2wubXlweS5vdmVycmlkZXNdXQorK21vZHVsZSA9ICJsZGFwLioiCisraWdu b3JlX21pc3NpbmdfaW1wb3J0cyA9IHRydWUKKysKKytbdG9vbC5pc29ydF0KKytsaW5lX2xlbmd0 aCA9IDExOQorK3Byb2ZpbGUgPSAiYmxhY2siCisrYWRkX2ltcG9ydHMgPSAiZnJvbSBfX2Z1dHVy ZV9fIGltcG9ydCBhbm5vdGF0aW9ucyIKKysKKytbdG9vbC5ibGFja10KKytsaW5lLWxlbmd0aCA9 IDExOQorZGlmZiAtLWdpdCBhL3Rlc3RzL3B5dGVzdC5pbmkgYi90ZXN0cy9weXRlc3QuaW5pCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzk3ODE3ZAorLS0tIC9kZXYvbnVs bAorKysrIGIvdGVzdHMvcHl0ZXN0LmluaQorQEAgLTAsMCArMSwxNSBAQAorKyMgRm9yIG1hcmtl ciBkZXNjcmlwdGlvbnMgcGxlYXNlIGxvb2sgYXQgaHR0cHM6Ly90ZXN0cy5zc3NkLmlvL2VuL2xh dGVzdC9tYXJrcy5odG1sCisrW3B5dGVzdF0KKythZGRvcHRzID0gLS1zdHJpY3QtbWFya2Vycwor K3Rlc3RwYXRocyA9IC4KKyttYXJrZXJzID0KKysgICAgZGlzY292ZXI6CisrICAgIGxpc3Q6Cisr ICAgIGpvaW46CisrICAgIGxlYXZlOgorKyAgICBjb250YWluc193b3JrYXJvdW5kX2ZvcihnaD0u Li4sYno9Li4uKToKKysgICAgcGVybWl0OgorKyAgICBkZW55OgorKyAgICBjb25maWc6CisrdGlj a2V0X3Rvb2xzID0gYnosZ2gsamlyYQorKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlYWRtZS5weXRl c3QgYi90ZXN0cy9yZWFkbWUucHl0ZXN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMC4uOTNiMWMxZQorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvcmVhZG1lLnB5dGVzdAor QEAgLTAsMCArMSwyOCBAQAorKyMgcmVhbG0gaW50ZWdyYXRpb24gdGVzdHMKKysKKytUaGVzZSB0 ZXN0cyB3aWxsIGNvdmVyIHRlc3Qgc2NlbmFyaW9zIGZvciByZWFsbSBwZXJmb3JtIGFjdGlvbnMg b24gYSBEb21haW4tQ29udHJvbGxlci4KKysKKysjIyBTZXQgdXAgZW52aXJvbm1lbnQgYW5kIGlu c3RhbGwgcmVxdWlyZW1lbnRzCisrKiogUmVmZXIgZm9sbG93aW5nIHRvIHNldCB1cCBlbnZpcm9u bWVudAorK2BgYAorK2h0dHBzOi8vdGVzdHMuc3NzZC5pby9lbi9sYXRlc3QvcnVubmluZy10ZXN0 cy5odG1sCisraHR0cHM6Ly9naXRodWIuY29tL1NTU0Qvc3NzZC1jaS1jb250YWluZXJzCisrYGBg CisrCisrKiogU2V0dXAgcHl0aG9uIHZpcnR1YWwgZW52aXJvbm1lbnQqKgorK2BgYAorK3B5dGhv bjMgLW0gdmVudiAudmVudgorK3NvdXJjZSAudmVudi9iaW4vYWN0aXZhdGUKKytgYGAKKysKKysq KiBTZXR1cCBzc3NkLXRlc3QtZnJhbWV3b3JrICoqCisrYGBgCisrcGlwIGluc3RhbGwgLXIgcmVx dWlyZW1lbnRzLnR4dAorK2BgYAorKworKyMjIFRvIHJ1biB0ZXN0cyBmcm9tIGluc2lkZSByZWFs bWQvdGVzdHMKKytgYGAKKysjIHB5dGVzdCAtLW1oLWNvbmZpZz1taGMueWFtbCAtLW1oLWxhenkt c3NoIC12CisrT3IKKysjIHB5dGVzdCAtLW1oLWNvbmZpZz1taGMueWFtbCAgLS1taC1sb2ctcGF0 aD0vZGV2L3N0ZGVyciAtLXBkYiB0ZXN0X3JlYWxtZC5weQorK2BgYGAKK2RpZmYgLS1naXQgYS90 ZXN0cy9yZXF1aXJlbWVudHMudHh0IGIvdGVzdHMvcmVxdWlyZW1lbnRzLnR4dAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmQyYzVkZGYKKy0tLSAvZGV2L251bGwKKysrKyBi L3Rlc3RzL3JlcXVpcmVtZW50cy50eHQKK0BAIC0wLDAgKzEsNyBAQAorK2ZsYWt5CisrcHl0ZXN0 CisrZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9uZXh0LWFjdGlvbnMvcHl0ZXN0LWltcG9ydGFuY2UK KytnaXQraHR0cHM6Ly9naXRodWIuY29tL25leHQtYWN0aW9ucy9weXRlc3QtbWgKKytnaXQraHR0 cHM6Ly9naXRodWIuY29tL25leHQtYWN0aW9ucy9weXRlc3QtdGlja2V0CisrZ2l0K2h0dHBzOi8v Z2l0aHViLmNvbS9uZXh0LWFjdGlvbnMvcHl0ZXN0LW91dHB1dAorK2dpdCtodHRwczovL2dpdGh1 Yi5jb20vU1NTRC9zc3NkLXRlc3QtZnJhbWV3b3JrCitkaWZmIC0tZ2l0IGEvdGVzdHMvc2V0dXAu Y2ZnIGIvdGVzdHMvc2V0dXAuY2ZnCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MC4uOGVmMGE5NgorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvc2V0dXAuY2ZnCitAQCAtMCww ICsxLDEyIEBACisrW21ldGFkYXRhXQorK2Rlc2NyaXB0aW9uLWZpbGUgPSByZWFkbWUubWQKKysK KytbZmxha2U4XQorK21heC1saW5lLWxlbmd0aCA9IDExOQorK2lnbm9yZSA9IEUyMDMsVzUwMwor K2V4Y2x1ZGUgPSAudmVudgorKworK1tweWNvZGVzdHlsZV0KKyttYXgtbGluZS1sZW5ndGggPSAx MTkKKytpZ25vcmUgPSBFMjAzLFc1MDMKKytleGNsdWRlID0gLnZlbnYKK2RpZmYgLS1naXQgYS90 ZXN0cy90ZXN0X3JlYWxtZC5weSBiL3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzliODMzZAorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVz dHMvdGVzdF9yZWFsbWQucHkKK0BAIC0wLDAgKzEsNzAgQEAKKytmcm9tIF9fZnV0dXJlX18gaW1w b3J0IGFubm90YXRpb25zCisrCisraW1wb3J0IHB5dGVzdAorK2ltcG9ydCB0aW1lCisraW1wb3J0 IG9zCisraW1wb3J0IHN5cworKworKworK2Zyb20gLnRvcG9sb2d5IGltcG9ydCBLbm93blRvcG9s b2d5LCBLbm93blRvcG9sb2d5R3JvdXAKKytmcm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsucm9sZXMu YWQgaW1wb3J0IEFECisrZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnJvbGVzLmNsaWVudCBpbXBv cnQgQ2xpZW50CisrZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnJvbGVzLmlwYSBpbXBvcnQgSVBB CisrZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnJvbGVzLmdlbmVyaWMgaW1wb3J0IEdlbmVyaWNB RFByb3ZpZGVyCisrZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnV0aWxzLnJlYWxtZCBpbXBvcnQg UmVhbG1VdGlscworKworKworK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJjcml0aWNhbCIpCisr QHB5dGVzdC5tYXJrLnRvcG9sb2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlBRCkKKytkZWYgdGVz dF9yZWFsbV9kaXNjb3ZlcihjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisrICAgICIi IgorKyAgICA6dGl0bGU6IHJlYWxtIGRpc2NvdmVyIGEgZG9tYWluCisrICAgIDpzdGVwczoKKysg ICAgICAgIDEuIFJlcXVlc3QgaW5mb3JtYXRpb24gYWJvdXQgYSBkb21haW4KKysgICAgOmV4cGVj dGVkcmVzdWx0czoKKysgICAgICAgIDEuIEluZm9ybWF0aW9uIGFib3V0IGEgZG9tYWluIGlzIHJl dHJpZXZlZAorKyAgICAiIiIKKysgICAgciA9IGNsaWVudC5yZWFsbS5kaXNjb3Zlcihwcm92aWRl ci5ob3N0LmRvbWFpbiwgYXJncz1bIi0tYWxsIiwgIi0tdmVyYm9zZSJdKQorKyAgICBhc3NlcnQg cHJvdmlkZXIuaG9zdC5kb21haW4gaW4gci5zdGRvdXQsICJyZWFsbSBmYWlsZWQgdG8gZGlzY292 ZXIgZG9tYWluIGluZm8iCisrCisrCisrQHB5dGVzdC5tYXJrLmltcG9ydGFuY2UoImNyaXRpY2Fs IikKKytAcHl0ZXN0Lm1hcmsudG9wb2xvZ3koS25vd25Ub3BvbG9neUdyb3VwLkFueUFEKQorK2Rl ZiB0ZXN0X3JlYWxtX2pvaW4oY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBBbnkpOgorKyAgICAi IiIKKysgICAgOnRpdGxlOiByZWFsbSBqb2luCisrICAgIDpzdGVwczoKKysgICAgICAgIDEuIEpv aW4gYSBjbGllbnQgc3lzdGVtIHRvIHRoZSBkb21haW4KKysgICAgOmV4cGVjdGVkcmVzdWx0czoK KysgICAgICAgIDEuIEEgY2xpZW50IHN5c3RlbSBqb2luZWQgdG8gdGhlIGRvbWFpbiBzdWNjZXNz ZnVsbHkKKysgICAgIiIiCisrICAgIHIgPSBjbGllbnQucmVhbG0uam9pbihwcm92aWRlci5ob3N0 LmRvbWFpbiwga3JiPUZhbHNlLCB1c2VyPXByb3ZpZGVyLmhvc3QuYWRtaW51c2VyLCBwYXNzd29y ZD1wcm92aWRlci5ob3N0LmFkbWlucHcpCisrICAgIGFzc2VydCByLnJjID09IDAsICJyZWFsbSBq b2luIG9wZXJhdGlvbiBmYWlsZWQhIgorKyAgICBhc3NlcnQgIlN1Y2Nlc3NmdWxseSBlbnJvbGxl ZCBtYWNoaW5lIGluIHJlYWxtIiBpbiByLnN0ZGVyciwgInJlYWxtIGZhaWxlZCB0byBqb2luIGNs aWVudCB0byB0aGUgZG9tYWluIgorKworKworK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJjcml0 aWNhbCIpCisrQHB5dGVzdC5tYXJrLnRvcG9sb2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlBRCkK KytkZWYgdGVzdF9yZWFsbV9sZWF2ZShjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6Cisr ICAgICIiIgorKyAgICA6dGl0bGU6IHJlYWxtIGxlYXZlCisrICAgIDpzdGVwczoKKysgICAgOmV4 cGVjdGVkcmVzdWx0czoKKysgICAgIiIiCisrICAgIGNsaWVudC5yZWFsbS5qb2luKHByb3ZpZGVy Lmhvc3QuZG9tYWluLCBrcmI9RmFsc2UsIHVzZXI9cHJvdmlkZXIuaG9zdC5hZG1pbnVzZXIsIHBh c3N3b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5wdykKKysgICAgciA9IGNsaWVudC5yZWFsbS5sZWF2 ZShwcm92aWRlci5ob3N0LmRvbWFpbikKKysgICAgYXNzZXJ0IHIucmMgPT0gMCwgInJlYWxtIGxl YXZlIG9wZXJhdGlvbiBmYWlsZWQhIgorKyAgICBhc3NlcnQgIlN1Y2Nlc3NmdWxseSB1bmVucm9s bGVkIG1hY2hpbmUgZnJvbSByZWFsbSIgaW4gci5zdGRlcnIsICJyZWFsbSBmYWlsZWQgdG8gbGVh dmUgZG9tYWluISIKKysKKysKKytAcHl0ZXN0Lm1hcmsuaW1wb3J0YW5jZSgiY3JpdGljYWwiKQor K0BweXRlc3QubWFyay50b3BvbG9neShLbm93blRvcG9sb2d5R3JvdXAuQW55QUQpCisrZGVmIHRl c3RfcmVhbG1fbGlzdChjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisrICAgICIiIgor KyAgICA6dGl0bGU6IHJlYWxtIGxpc3QKKysgICAgOnN0ZXBzOgorKyAgICA6ZXhwZWN0ZWRyZXN1 bHRzOgorKyAgICAiIiIKKysgICAgciA9IGNsaWVudC5yZWFsbS5saXN0KGFyZ3M9WyItLWFsbCJd KQorKyAgICBhc3NlcnQgci5yYyA9PSAwLCAicmVhbG0gbGlzdCBvcGVyYXRpb24gZmFpbGVkISIK KysgICAgYXNzZXJ0IHByb3ZpZGVyLmhvc3QuZG9tYWluIGluIHIuc3Rkb3V0LCAicmVhbG0gZmFp bGVkIHRvIGxpc3QgZG9tYWluIgorZGlmZiAtLWdpdCBhL3Rlc3RzL3RvcG9sb2d5LnB5IGIvdGVz dHMvdG9wb2xvZ3kucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43ZDg1 OTEwCistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy90b3BvbG9neS5weQorQEAgLTAsMCArMSwx MDkgQEAKKysiIiJTU1NEIHByZWRlZmluZWQgd2VsbC1rbm93biB0b3BvbG9naWVzLiIiIgorKwor K2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYW5ub3RhdGlvbnMKKysKKytmcm9tIGVudW0gaW1wb3J0 IHVuaXF1ZQorK2Zyb20gdHlwaW5nIGltcG9ydCBmaW5hbAorKworK2Zyb20gcHl0ZXN0X21oIGlt cG9ydCBLbm93blRvcG9sb2d5QmFzZSwgS25vd25Ub3BvbG9neUdyb3VwQmFzZSwgVG9wb2xvZ3ks IFRvcG9sb2d5RG9tYWluCisrCisrZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLmNvbmZpZyBpbXBv cnQgU1NTRFRvcG9sb2d5TWFyaworK2Zyb20gLnRvcG9sb2d5X2NvbnRyb2xsZXJzIGltcG9ydCAo CisrICAgIEFEVG9wb2xvZ3lDb250cm9sbGVyLAorKyAgICBJUEFUb3BvbG9neUNvbnRyb2xsZXIs CisrICAgIFNhbWJhVG9wb2xvZ3lDb250cm9sbGVyLAorKykKKysKKytfX2FsbF9fID0gWworKyAg ICAiS25vd25Ub3BvbG9neSIsCisrICAgICJLbm93blRvcG9sb2d5R3JvdXAiLAorK10KKysKKysK KytAZmluYWwKKytAdW5pcXVlCisrY2xhc3MgS25vd25Ub3BvbG9neShLbm93blRvcG9sb2d5QmFz ZSk6CisrICAgICIiIgorKyAgICBXZWxsLWtub3duIHRvcG9sb2dpZXMgdGhhdCBjYW4gYmUgZ2l2 ZW4gdG8gYGBweXRlc3QubWFyay50b3BvbG9neWBgCisrICAgIGRpcmVjdGx5LiBJdCBpcyBleHBl Y3RlZCB0byB1c2UgdGhlc2UgdmFsdWVzIGluIGZhdm9yIG9mIHByb3ZpZGluZworKyAgICBjdXN0 b20gbWFya2VyIHZhbHVlcy4KKysKKysgICAgLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKyAgICAg ICAgOmNhcHRpb246IEV4YW1wbGUgdXNhZ2UKKysKKysgICAgICAgIEBweXRlc3QubWFyay50b3Bv bG9neShLbm93blRvcG9sb2d5LkxEQVApCisrICAgICAgICBkZWYgdGVzdF9sZGFwKGNsaWVudDog Q2xpZW50LCBsZGFwOiBMREFQKToKKysgICAgICAgICAgICBhc3NlcnQgVHJ1ZQorKyAgICAiIiIK KysKKysgICAgIiIiCisrICAgIENsaWVudCA9IFNTU0RUb3BvbG9neU1hcmsoCisrICAgICAgICBu YW1lPSJjbGllbnQiLAorKyAgICAgICAgdG9wb2xvZ3k9VG9wb2xvZ3koVG9wb2xvZ3lEb21haW4o InNzc2QiLCBjbGllbnQ9MSkpLAorKyAgICAgICAgY29udHJvbGxlcj1DbGllbnRUb3BvbG9neUNv bnRyb2xsZXIoKSwKKysgICAgICAgIGZpeHR1cmVzPWRpY3QoY2xpZW50PSJzc3NkLmNsaWVudFsw XSIpLAorKyAgICApCisrICAgICIiIgorKyAgICAiIiIKKysgICAgLi4gdG9wb2xvZ3ktbWFyazo6 IEtub3duVG9wb2xvZ3kuQ2xpZW50CisrICAgICIiIgorKworKyAgICBBRCA9IFNTU0RUb3BvbG9n eU1hcmsoCisrICAgICAgICBuYW1lPSJhZCIsCisrICAgICAgICB0b3BvbG9neT1Ub3BvbG9neShU b3BvbG9neURvbWFpbigic3NzZCIsIGNsaWVudD0xLCBhZD0xKSksCisrICAgICAgICBjb250cm9s bGVyPUFEVG9wb2xvZ3lDb250cm9sbGVyKCksCisrICAgICAgICBkb21haW5zPWRpY3QodGVzdD0i c3NzZC5hZFswXSIpLAorKyAgICAgICAgZml4dHVyZXM9ZGljdChjbGllbnQ9InNzc2QuY2xpZW50 WzBdIiwgYWQ9InNzc2QuYWRbMF0iLCBwcm92aWRlcj0ic3NzZC5hZFswXSIpLAorKyAgICApCisr ICAgICIiIgorKyAgICAuLiB0b3BvbG9neS1tYXJrOjogS25vd25Ub3BvbG9neS5BRAorKyAgICAi IiIKKysKKysgICAgU2FtYmEgPSBTU1NEVG9wb2xvZ3lNYXJrKAorKyAgICAgICAgbmFtZT0ic2Ft YmEiLAorKyAgICAgICAgdG9wb2xvZ3k9VG9wb2xvZ3koVG9wb2xvZ3lEb21haW4oInNzc2QiLCBj bGllbnQ9MSwgc2FtYmE9MSkpLAorKyAgICAgICAgY29udHJvbGxlcj1TYW1iYVRvcG9sb2d5Q29u dHJvbGxlcigpLAorKyAgICAgICAgZG9tYWlucz17InRlc3QiOiAic3NzZC5zYW1iYVswXSJ9LAor KyAgICAgICAgZml4dHVyZXM9ZGljdChjbGllbnQ9InNzc2QuY2xpZW50WzBdIiwgc2FtYmE9InNz c2Quc2FtYmFbMF0iLCBwcm92aWRlcj0ic3NzZC5zYW1iYVswXSIpLAorKyAgICApCisrICAgICIi IgorKyAgICAuLiB0b3BvbG9neS1tYXJrOjogS25vd25Ub3BvbG9neS5TYW1iYQorKyAgICAiIiIK KysKKysgICAgSVBBID0gU1NTRFRvcG9sb2d5TWFyaygKKysgICAgICAgIG5hbWU9ImlwYSIsCisr ICAgICAgICB0b3BvbG9neT1Ub3BvbG9neShUb3BvbG9neURvbWFpbigic3NzZCIsIGNsaWVudD0x LCBpcGE9MSkpLAorKyAgICAgICAgY29udHJvbGxlcj1JUEFUb3BvbG9neUNvbnRyb2xsZXIoKSwK KysgICAgICAgIGRvbWFpbnM9ZGljdCh0ZXN0PSJzc3NkLmlwYVswXSIpLAorKyAgICAgICAgZml4 dHVyZXM9ZGljdChjbGllbnQ9InNzc2QuY2xpZW50WzBdIiwgaXBhPSJzc3NkLmlwYVswXSIsIHBy b3ZpZGVyPSJzc3NkLmlwYVswXSIpLAorKyAgICApCisrICAgICIiIgorKyAgICAuLiB0b3BvbG9n eS1tYXJrOjogS25vd25Ub3BvbG9neS5JUEEKKysgICAgIiIiCisrCisrCisrY2xhc3MgS25vd25U b3BvbG9neUdyb3VwKEtub3duVG9wb2xvZ3lHcm91cEJhc2UpOgorKyAgICAiIiIKKysgICAgR3Jv dXBzIG9mIHdlbGwta25vd24gdG9wb2xvZ2llcyB0aGF0IGNhbiBiZSBnaXZlbiB0byBgYHB5dGVz dC5tYXJrLnRvcG9sb2d5YGAKKysgICAgZGlyZWN0bHkuIEl0IGlzIGV4cGVjdGVkIHRvIHVzZSB0 aGVzZSB2YWx1ZXMgaW4gZmF2b3Igb2YgcHJvdmlkaW5nCisrICAgIGN1c3RvbSBtYXJrZXIgdmFs dWVzLgorKworKyAgICBUaGUgdGVzdCBpcyBwYXJhbWV0cml6ZWQgYW5kIHJ1bnMgbXVsdGlwbGUg dGltZXMsIG9uY2UgcGVyIGVhY2ggdG9wb2xvZ3kuCisrCisrICAgIC4uIGNvZGUtYmxvY2s6OiBw eXRob24KKysgICAgICAgIDpjYXB0aW9uOiBFeGFtcGxlIHVzYWdlIChydW5zIG9uIEFELCBJUEEs IExEQVAgYW5kIFNhbWJhIHRvcG9sb2d5KQorKworKyAgICAgICAgQHB5dGVzdC5tYXJrLnRvcG9s b2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlQcm92aWRlcikKKysgICAgICAgIGRlZiB0ZXN0X2xk YXAoY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBHZW5lcmljUHJvdmlkZXIpOgorKyAgICAgICAg ICAgIGFzc2VydCBUcnVlCisrICAgICIiIgorKworKyAgICBBbnlBRCA9IFtLbm93blRvcG9sb2d5 LkFELCBLbm93blRvcG9sb2d5LlNhbWJhXQorKyAgICAiIiIKKysgICAgLi4gdG9wb2xvZ3ktbWFy azo6IEtub3duVG9wb2xvZ3lHcm91cC5BbnlBRAorKyAgICAiIiIKKysKKysgICAgQW55UHJvdmlk ZXIgPSBbS25vd25Ub3BvbG9neS5BRCwgS25vd25Ub3BvbG9neS5TYW1iYV0KKysgICAgIiIiCisr ICAgIC4uIHRvcG9sb2d5LW1hcms6OiBLbm93blRvcG9sb2d5R3JvdXAuQW55UHJvdmlkZXIKKysg ICAgIiIiCitkaWZmIC0tZ2l0IGEvdGVzdHMvdG9wb2xvZ3lfY29udHJvbGxlcnMucHkgYi90ZXN0 cy90b3BvbG9neV9jb250cm9sbGVycy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAuLjczYTVjNDkKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzL3RvcG9sb2d5X2NvbnRy b2xsZXJzLnB5CitAQCAtMCwwICsxLDExMCBAQAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYW5u b3RhdGlvbnMKKysKKytmcm9tIHB5dGVzdF9taCBpbXBvcnQgQmFja3VwVG9wb2xvZ3lDb250cm9s bGVyCisrZnJvbSBweXRlc3RfbWguY29ubiBpbXBvcnQgUHJvY2Vzc1Jlc3VsdAorKworK2Zyb20g c3NzZF90ZXN0X2ZyYW1ld29yay5jb25maWcgaW1wb3J0IFNTU0RNdWx0aWhvc3RDb25maWcKKytm cm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsuaG9zdHMuYWQgaW1wb3J0IEFESG9zdAorK2Zyb20gc3Nz ZF90ZXN0X2ZyYW1ld29yay5ob3N0cy5jbGllbnQgaW1wb3J0IENsaWVudEhvc3QKKytmcm9tIHNz c2RfdGVzdF9mcmFtZXdvcmsuaG9zdHMuc2FtYmEgaW1wb3J0IFNhbWJhSG9zdAorK2Zyb20gc3Nz ZF90ZXN0X2ZyYW1ld29yay5ob3N0cy5pcGEgaW1wb3J0IElQQUhvc3QKKytmcm9tIHNzc2RfdGVz dF9mcmFtZXdvcmsubWlzYy5zc2ggaW1wb3J0IHJldHJ5X2NvbW1hbmQKKysKKytfX2FsbF9fID0g WworKyAgICAiQURUb3BvbG9neUNvbnRyb2xsZXIiLAorKyAgICAiU2FtYmFUb3BvbG9neUNvbnRy b2xsZXIiLAorKyAgICAiSVBBVG9wb2xvZ3lDb250cm9sbGVyIiwKKytdCisrCisrCisrY2xhc3Mg UHJvdmlzaW9uZWRCYWNrdXBUb3BvbG9neUNvbnRyb2xsZXIoQmFja3VwVG9wb2xvZ3lDb250cm9s bGVyW1NTU0RNdWx0aWhvc3RDb25maWddKToKKysgICAgIiIiCisrICAgIFByb3ZpZGUgYmFzaWMg cmVzdG9yZSBmdW5jdGlvbmFsaXR5IGZvciB0b3BvbG9naWVzLgorKyAgICAiIiIKKysKKysgICAg ZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6CisrICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkK KysKKysgICAgICAgIHNlbGYucHJvdmlzaW9uZWQ6IGJvb2wgPSBGYWxzZQorKworKyAgICBkZWYg aW5pdChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorKyAgICAgICAgc3VwZXIoKS5pbml0KCphcmdz LCAqKmt3YXJncykKKysgICAgICAgIHNlbGYucHJvdmlzaW9uZWQgPSBzZWxmLm5hbWUgaW4gc2Vs Zi5tdWx0aWhvc3QucHJvdmlzaW9uZWRfdG9wb2xvZ2llcworKworKyAgICBkZWYgdG9wb2xvZ3lf dGVhcmRvd24oc2VsZikgLT4gTm9uZToKKysgICAgICAgIGlmIHNlbGYucHJvdmlzaW9uZWQ6Cisr ICAgICAgICAgICAgcmV0dXJuCisrCisrICAgICAgICBzdXBlcigpLnRvcG9sb2d5X3RlYXJkb3du KCkKKysKKysgICAgZGVmIHRlYXJkb3duKHNlbGYpIC0+IE5vbmU6CisrICAgICAgICBpZiBzZWxm LnByb3Zpc2lvbmVkOgorKyAgICAgICAgICAgIHNlbGYucmVzdG9yZV92YW5pbGxhKCkKKysgICAg ICAgICAgICByZXR1cm4KKysKKysgICAgICAgIHN1cGVyKCkudGVhcmRvd24oKQorKworKworK2Ns YXNzIENsaWVudFRvcG9sb2d5Q29udHJvbGxlcihQcm92aXNpb25lZEJhY2t1cFRvcG9sb2d5Q29u dHJvbGxlcik6CisrICAgICIiIgorKyAgICBDbGllbnQgVG9wb2xvZ3kgQ29udHJvbGxlci4KKysg ICAgIiIiCisrCisrICAgIHBhc3MKKysKKysKKytjbGFzcyBBRFRvcG9sb2d5Q29udHJvbGxlcihQ cm92aXNpb25lZEJhY2t1cFRvcG9sb2d5Q29udHJvbGxlcik6CisrICAgICIiIgorKyAgICBBRCBU b3BvbG9neSBDb250cm9sbGVyLgorKyAgICAiIiIKKysKKysgICAgQEJhY2t1cFRvcG9sb2d5Q29u dHJvbGxlci5yZXN0b3JlX3ZhbmlsbGFfb25fZXJyb3IKKysgICAgZGVmIHRvcG9sb2d5X3NldHVw KHNlbGYsIGNsaWVudDogQ2xpZW50SG9zdCwgcHJvdmlkZXI6IEFESG9zdCkgLT4gTm9uZToKKysg ICAgICAgIGlmIHNlbGYucHJvdmlzaW9uZWQ6CisrICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5m byhmIlRvcG9sb2d5ICd7c2VsZi5uYW1lfScgaXMgYWxyZWFkeSBwcm92aXNpb25lZCIpCisrICAg ICAgICAgICAgcmV0dXJuCisrCisrICAgICAgICAjIFJlbW92ZSBhbnkgZXhpc3RpbmcgS2VyYmVy b3MgY29uZmlndXJhdGlvbiBhbmQga2V5dGFiCisrICAgICAgICBjbGllbnQuZnMucm0oIi9ldGMv a3JiNS5jb25mIikKKysgICAgICAgIGNsaWVudC5mcy5ybSgiL2V0Yy9rcmI1LmtleXRhYiIpCisr CisrICAgICAgICAjIEJhY2t1cCBzbyB3ZSBjYW4gcmVzdG9yZSB0byB0aGlzIHN0YXRlIGFmdGVy IGVhY2ggdGVzdAorKyAgICAgICAgc3VwZXIoKS50b3BvbG9neV9zZXR1cCgpCisrCisrCisrY2xh c3MgSVBBVG9wb2xvZ3lDb250cm9sbGVyKFByb3Zpc2lvbmVkQmFja3VwVG9wb2xvZ3lDb250cm9s bGVyKToKKysgICAgIiIiCisrICAgIElQQSBUb3BvbG9neSBDb250cm9sbGVyLgorKyAgICAiIiIK KysKKysgICAgQEJhY2t1cFRvcG9sb2d5Q29udHJvbGxlci5yZXN0b3JlX3ZhbmlsbGFfb25fZXJy b3IKKysgICAgZGVmIHRvcG9sb2d5X3NldHVwKHNlbGYsIGNsaWVudDogQ2xpZW50SG9zdCwgaXBh OiBJUEFIb3N0KSAtPiBOb25lOgorKyAgICAgICAgaWYgc2VsZi5wcm92aXNpb25lZDoKKysgICAg ICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKGYiVG9wb2xvZ3kgJ3tzZWxmLm5hbWV9JyBpcyBhbHJl YWR5IHByb3Zpc2lvbmVkIikKKysgICAgICAgICAgICByZXR1cm4KKysKKysgICAgICAgICNzZWxm LmxvZ2dlci5pbmZvKGYiRW5yb2xsaW5nIHtjbGllbnQuaG9zdG5hbWV9IGludG8ge2lwYS5kb21h aW59IikKKysgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oZiJ7Y2xpZW50Lmhvc3RuYW1lfSBpbnRv IHtpcGEuZG9tYWlufSIpCisrICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCIqKioqKioqKioqKioq KioqKioqKioqKioqKiIqNzcpCisrCisrICAgICAgICAjIFJlbW92ZSBhbnkgZXhpc3RpbmcgS2Vy YmVyb3MgY29uZmlndXJhdGlvbiBhbmQga2V5dGFiCisrICAgICAgICBjbGllbnQuZnMucm0oIi9l dGMva3JiNS5jb25mIikKKysgICAgICAgIGNsaWVudC5mcy5ybSgiL2V0Yy9rcmI1LmtleXRhYiIp CisrCisrICAgICAgICAjIEJhY2t1cCBpcGEtY2xpZW50LWluc3RhbGwgZmlsZXMKKysgICAgICAg IGNsaWVudC5mcy5iYWNrdXAoIi9ldGMvaXBhIikKKysgICAgICAgIGNsaWVudC5mcy5iYWNrdXAo Ii92YXIvbGliL2lwYS1jbGllbnQiKQorKworKyAgICAgICAgIyBKb2luIGlwYSBkb21haW4KKysg ICAgICAgICNjbGllbnQuY29ubi5leGVjKFsicmVhbG0iLCAibGVhdmUiLCBpcGEuZG9tYWluXSwg aW5wdXQ9aXBhLmFkbWlucHcpCisrCisrICAgICAgICAjIEJhY2t1cCBzbyB3ZSBjYW4gcmVzdG9y ZSB0byB0aGlzIHN0YXRlIGFmdGVyIGVhY2ggdGVzdAorKyAgICAgICAgc3VwZXIoKS50b3BvbG9n eV9zZXR1cCgpCisrCisrCisrY2xhc3MgU2FtYmFUb3BvbG9neUNvbnRyb2xsZXIoQURUb3BvbG9n eUNvbnRyb2xsZXIpOgorKyAgICAiIiIKKysgICAgU2FtYmEgVG9wb2xvZ3kgQ29udHJvbGxlci4K KysgICAgIiIiCisrCisrICAgIHBhc3MKKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDAy LXNlcnZpY2UtZG8tbm90LXNldC1jb25maWdfZmlsZV92ZXJzaW9uLWluLXNzc2QuY29uZi5wYXRj aCBiLzAwMDItc2VydmljZS1kby1ub3Qtc2V0LWNvbmZpZ19maWxlX3ZlcnNpb24taW4tc3NzZC5j b25mLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4NmU3MzYKLS0t IC9kZXYvbnVsbAorKysgYi8wMDAyLXNlcnZpY2UtZG8tbm90LXNldC1jb25maWdfZmlsZV92ZXJz aW9uLWluLXNzc2QuY29uZi5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIDhhMTczNGIzZmVl YjRiZjkwZjliNjBkNmM1YmIyZWRhNGUyOWQ3NDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgorRGF0ZTogV2VkLCAyNSBKdW4gMjAy NSAwOTo1NTozOSArMDIwMAorU3ViamVjdDogW1BBVENIIDAyLzIwXSBzZXJ2aWNlOiBkbyBub3Qg c2V0IGNvbmZpZ19maWxlX3ZlcnNpb24gaW4gc3NzZC5jb25mCisKK1RoZSBjb25maWdfZmlsZV92 ZXJzaW9uIG9wdGlvbiBpcyBub3QgdXNlZCBieSBTU1NEIHNpbmNlIHF1aXRlIHNvbWUgdGltZQor YW5kIHdhcyByZW1vdmVkIHJlY2VudGx5LgorCitSZXNvbHZlczogaHR0cHM6Ly9pc3N1ZXMucmVk aGF0LmNvbS9icm93c2UvUkhFTC05OTg3NworLS0tCisgc2VydmljZS9yZWFsbS1zc3NkLWNvbmZp Zy5jIHwgMiAtLQorIHRlc3RzL3Rlc3Qtc3NzZC1jb25maWcuYyAgICB8IDYgKysrLS0tCisgMiBm aWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9zZXJ2aWNlL3JlYWxtLXNzc2QtY29uZmlnLmMgYi9zZXJ2aWNlL3JlYWxtLXNzc2QtY29u ZmlnLmMKK2luZGV4IDE0MGQ3ZGMuLmQwMmIwMWYgMTAwNjQ0CistLS0gYS9zZXJ2aWNlL3JlYWxt LXNzc2QtY29uZmlnLmMKKysrKyBiL3NlcnZpY2UvcmVhbG0tc3NzZC1jb25maWcuYworQEAgLTE1 Niw4ICsxNTYsNiBAQCByZWFsbV9zc3NkX2NvbmZpZ19hZGRfZG9tYWluIChSZWFsbUluaUNvbmZp ZyAqY29uZmlnLAorIAorIAkvKiBTZXR1cCBhIGRlZmF1bHQgc3NzZCBzZWN0aW9uICovCisgCXJl YWxtX2luaV9jb25maWdfc2V0X2xpc3RfZGlmZiAoY29uZmlnLCAic3NzZCIsICJzZXJ2aWNlcyIs ICIsICIsIHNlcnZpY2VzLCBOVUxMKTsKKy0JaWYgKCFyZWFsbV9pbmlfY29uZmlnX2hhdmUgKGNv bmZpZywgInNzc2QiLCAiY29uZmlnX2ZpbGVfdmVyc2lvbiIpKQorLQkJcmVhbG1faW5pX2NvbmZp Z19zZXQgKGNvbmZpZywgInNzc2QiLCAiY29uZmlnX2ZpbGVfdmVyc2lvbiIsICIyIiwgTlVMTCk7 CisgCisgCWRvbWFpbnNbMF0gPSBkb21haW47CisgCWRvbWFpbnNbMV0gPSBOVUxMOworZGlmZiAt LWdpdCBhL3Rlc3RzL3Rlc3Qtc3NzZC1jb25maWcuYyBiL3Rlc3RzL3Rlc3Qtc3NzZC1jb25maWcu YworaW5kZXggOGYzZmVjNS4uZjBhMjU2MiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3Qtc3NzZC1j b25maWcuYworKysrIGIvdGVzdHMvdGVzdC1zc3NkLWNvbmZpZy5jCitAQCAtOTAsNyArOTAsNyBA QCB0ZXN0X2FkZF9kb21haW4gKFRlc3QgKnRlc3QsCisgICAgICAgICAgICAgICAgICBnY29uc3Rw b2ludGVyIHVudXNlZCkKKyB7CisgCWNvbnN0IGdjaGFyICpkYXRhID0gIltkb21haW4vb25lXVxu dmFsPTFcbltzc3NkXVxuZG9tYWlucz1vbmUiOworLQljb25zdCBnY2hhciAqY2hlY2sgPSAiW2Rv bWFpbi9vbmVdXG52YWw9MVxuW3Nzc2RdXG5kb21haW5zID0gb25lLCB0d29cbmNvbmZpZ19maWxl X3ZlcnNpb24gPSAyXG5zZXJ2aWNlcyA9IG5zcywgcGFtXG5cbltkb21haW4vdHdvXVxuZG9zID0g MlxuIjsKKysJY29uc3QgZ2NoYXIgKmNoZWNrID0gIltkb21haW4vb25lXVxudmFsPTFcbltzc3Nk XVxuZG9tYWlucyA9IG9uZSwgdHdvXG5zZXJ2aWNlcyA9IG5zcywgcGFtXG5cbltkb21haW4vdHdv XVxuZG9zID0gMlxuIjsKKyAJR0Vycm9yICplcnJvciA9IE5VTEw7CisgCWdjaGFyICpvdXRwdXQ7 CisgCWdib29sZWFuIHJldDsKK0BAIC0xNDAsNyArMTQwLDcgQEAgc3RhdGljIHZvaWQKKyB0ZXN0 X2FkZF9kb21haW5fb25seSAoVGVzdCAqdGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgZ2Nv bnN0cG9pbnRlciB1bnVzZWQpCisgeworLQljb25zdCBnY2hhciAqY2hlY2sgPSAiXG5bc3NzZF1c bmRvbWFpbnMgPSB0d29cbmNvbmZpZ19maWxlX3ZlcnNpb24gPSAyXG5zZXJ2aWNlcyA9IG5zcywg cGFtXG5cbltkb21haW4vdHdvXVxuZG9zID0gMlxuIjsKKysJY29uc3QgZ2NoYXIgKmNoZWNrID0g IlxuW3Nzc2RdXG5kb21haW5zID0gdHdvXG5zZXJ2aWNlcyA9IG5zcywgcGFtXG5cbltkb21haW4v dHdvXVxuZG9zID0gMlxuIjsKKyAJR0Vycm9yICplcnJvciA9IE5VTEw7CisgCWdjaGFyICpvdXRw dXQ7CisgCWdib29sZWFuIHJldDsKK0BAIC0zNDIsNyArMzQyLDcgQEAgc3RhdGljIHZvaWQKKyB0 ZXN0X3JlbW92ZV9hbmRfYWRkX2RvbWFpbiAoVGVzdCAqdGVzdCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICBnY29uc3Rwb2ludGVyIHVudXNlZCkKKyB7CistCWNvbnN0IGdjaGFyICpkYXRhID0g Iltkb21haW4vb25lXVxudmFsID0gMVxuXG5bbnNzXVxuZGVmYXVsdF9zaGVsbCA9IC9iaW4vYmFz aFxuXG5bc3NzZF1cbmRvbWFpbnMgPSBvbmUsIHR3b1xuY29uZmlnX2ZpbGVfdmVyc2lvbiA9IDJc bnNlcnZpY2VzID0gbnNzLCBwYW1cblxuW2RvbWFpbi90d29dXG52YWwgPSAyXG4iOworKwljb25z dCBnY2hhciAqZGF0YSA9ICJbZG9tYWluL29uZV1cbnZhbCA9IDFcblxuW25zc11cbmRlZmF1bHRf c2hlbGwgPSAvYmluL2Jhc2hcblxuW3Nzc2RdXG5kb21haW5zID0gb25lLCB0d29cbnNlcnZpY2Vz ID0gbnNzLCBwYW1cblxuW2RvbWFpbi90d29dXG52YWwgPSAyXG4iOworIAlHRXJyb3IgKmVycm9y ID0gTlVMTDsKKyAJZ2NoYXIgKm91dHB1dDsKKyAJZ2Jvb2xlYW4gcmV0OworLS0gCisyLjU0LjAK KwoKZGlmZiAtLWdpdCBhLzAwMDMtdG9vbHMtZml4LWhlbHAtbWVzc2FnZS1mb3ItcmVhbG0tZGVu eS5wYXRjaCBiLzAwMDMtdG9vbHMtZml4LWhlbHAtbWVzc2FnZS1mb3ItcmVhbG0tZGVueS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDYzMzEzCi0tLSAvZGV2L251 bGwKKysrIGIvMDAwMy10b29scy1maXgtaGVscC1tZXNzYWdlLWZvci1yZWFsbS1kZW55LnBhdGNo CkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gZWE3YzE0MzI3NjUzN2FhYzdhZTY2NTk3MDA4MzIzNGRm ZmM5Y2U5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN1bWl0IEJvc2UgPHNib3Nl QHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDMwIEp1biAyMDI1IDEzOjI0OjMzICswMjAwCitTdWJq ZWN0OiBbUEFUQ0ggMDMvMjBdIHRvb2xzOiBmaXggaGVscCBtZXNzYWdlIGZvciByZWFsbSBkZW55 CisKK1NvbWUgb3B0aW9uIG5vdCBzdXBwb3J0IGJ5ICdyZWFsbSBkZW55JyB3ZXJlIGxpc3RlZCBp biB0aGUgaGVscCBvdXRwdXQuCistLS0KKyB0b29scy9yZWFsbS1sb2dpbnMuYyB8IDkgKysrKysr KystCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitk aWZmIC0tZ2l0IGEvdG9vbHMvcmVhbG0tbG9naW5zLmMgYi90b29scy9yZWFsbS1sb2dpbnMuYwor aW5kZXggODI3NmE1Ny4uMDBkMzlkYiAxMDA2NDQKKy0tLSBhL3Rvb2xzL3JlYWxtLWxvZ2lucy5j CisrKysgYi90b29scy9yZWFsbS1sb2dpbnMuYworQEAgLTE5OCwxNyArMTk4LDI0IEBAIHJlYWxt X3Blcm1pdF9vcl9kZW55IChSZWFsbUNsaWVudCAqY2xpZW50LAorIAlHT3B0aW9uRW50cnkgb3B0 aW9uX2VudHJpZXNbXSA9IHsKKyAJCXsgImFsbCIsICdhJywgMCwgR19PUFRJT05fQVJHX05PTkUs ICZhcmdfYWxsLAorIAkJICBwZXJtaXQgPyBOXygiUGVybWl0IGFueSByZWFsbSBhY2NvdW50IGxv Z2luIikgOiBOXygiRGVueSBhbnkgcmVhbG0gYWNjb3VudCBsb2dpbiIpLCBOVUxMIH0sCisrCQl7 ICJyZWFsbSIsICdSJywgMCwgR19PUFRJT05fQVJHX1NUUklORywgJnJlYWxtX25hbWUsIE5fKCJS ZWFsbSB0byBwZXJtaXQvZGVueSBsb2dpbnMgZm9yIiksIE5VTEwgfSwKKysJCXsgTlVMTCwgfQor Kwl9OworKworKwlHT3B0aW9uRW50cnkgb3B0aW9uX2VudHJpZXNfcGVybWl0W10gPSB7CisgCQl7 ICJ3aXRoZHJhdyIsICd4JywgMCwgR19PUFRJT05fQVJHX05PTkUsICZhcmdfd2l0aGRyYXcsCisg CQkgIE5fKCJXaXRoZHJhdyBwZXJtaXQgZm9yIGEgcmVhbG0gYWNjb3VudCB0byBsb2dpbiIpLCBO VUxMIH0sCisgCQl7ICJncm91cHMiLCAnZycsIDAsIEdfT1BUSU9OX0FSR19OT05FLCAmYXJnX2dy b3VwcywKKyAJCSAgTl8oIlRyZWF0IG5hbWVzIGFzIGdyb3VwcyB3aGljaCB0byBwZXJtaXQiKSwg TlVMTCB9LAorLQkJeyAicmVhbG0iLCAnUicsIDAsIEdfT1BUSU9OX0FSR19TVFJJTkcsICZyZWFs bV9uYW1lLCBOXygiUmVhbG0gdG8gcGVybWl0L2RlbnkgbG9naW5zIGZvciIpLCBOVUxMIH0sCisg CQl7IE5VTEwsIH0KKyAJfTsKKyAKKyAJY29udGV4dCA9IGdfb3B0aW9uX2NvbnRleHRfbmV3ICgi cmVhbG0iKTsKKyAJZ19vcHRpb25fY29udGV4dF9zZXRfdHJhbnNsYXRpb25fZG9tYWluIChjb250 ZXh0LCBHRVRURVhUX1BBQ0tBR0UpOworIAlnX29wdGlvbl9jb250ZXh0X2FkZF9tYWluX2VudHJp ZXMgKGNvbnRleHQsIG9wdGlvbl9lbnRyaWVzLCBOVUxMKTsKKysJaWYgKHBlcm1pdCkgeworKwkJ Z19vcHRpb25fY29udGV4dF9hZGRfbWFpbl9lbnRyaWVzIChjb250ZXh0LCBvcHRpb25fZW50cmll c19wZXJtaXQsIE5VTEwpOworKwl9CisgCWdfb3B0aW9uX2NvbnRleHRfYWRkX21haW5fZW50cmll cyAoY29udGV4dCwgcmVhbG1fZ2xvYmFsX29wdGlvbnMsIE5VTEwpOworIAorIAlpZiAoIWdfb3B0 aW9uX2NvbnRleHRfcGFyc2UgKGNvbnRleHQsICZhcmdjLCAmYXJndiwgJmVycm9yKSkgeworLS0g CisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMDQtZGlzY28tY2hlY2stSVBBLXNwZWNpZmljLWV4 dGVuc2lvbi1pbi1yb290RFNFLnBhdGNoIGIvMDAwNC1kaXNjby1jaGVjay1JUEEtc3BlY2lmaWMt ZXh0ZW5zaW9uLWluLXJvb3REU0UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uN2FmNDYxYQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDQtZGlzY28tY2hlY2stSVBBLXNw ZWNpZmljLWV4dGVuc2lvbi1pbi1yb290RFNFLnBhdGNoCkBAIC0wLDAgKzEsMTUyIEBACitGcm9t IGQ2MDMxZGEyYjQ5M2U1MGFhY2M4YWQ5NzQxZDMzZWMyNTE0ODNiZWUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgorRGF0ZTogV2Vk LCAxNCBNYXkgMjAyNSAxNDoxNDo0OSArMDIwMAorU3ViamVjdDogW1BBVENIIDA0LzIwXSBkaXNj bzogY2hlY2sgSVBBIHNwZWNpZmljIGV4dGVuc2lvbiBpbiByb290RFNFCisKK0luIGNhc2UgYW4g SVBBIHNlcnZlciBoYXMgcmVzdHJpY3RlZCBhbm9ueW1vdXMgYWNjZXNzIGl0IG1pZ2h0IG5vdCBi ZQorcG9zc2libGUgdG8gcmVhZCB0aGUgYmFzZWQgRE4gdG8gZmluZCB0aGUgZG9tYWluIG5hbWUg b3IgdGhlIEtlcmJlcm9zCityZWFsbS4gQXMgbG9uZyBhcyB0aGUgcm9vdERTRSBjYW4gYmUgcmVh ZCB3ZSBjYW4gaWRlbnRpZnkgYW4gSVBBIGRvbWFpbgorYnkgSVBBIHNwZWNpZmljIExEQVAgZXh0 ZW5zaW9ucyBhbmQgZGVyaXZlZCB0aGUgZG9tYWluIG5hbWUgZnJvbSB0aGUKK2RlZmF1bHQgZG9t YWluIHN1ZmZpeC4gV2l0aCB0aGlzIHBhdGNoIHRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZCBhcyBh CitmYWxsYmFjayBpZiB0aGUgYmFzZSBETiBjYW5ub3QgYmUgcmVhZC4KKworUmVzb2x2ZXM6IGh0 dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9yZWFsbWQvcmVhbG1kLy0vaXNzdWVzLzQ0Cist LS0KKyBzZXJ2aWNlL3JlYWxtLWRpc2NvLXJvb3Rkc2UuYyB8IDc4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDEw IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2VydmljZS9yZWFsbS1kaXNjby1yb290ZHNl LmMgYi9zZXJ2aWNlL3JlYWxtLWRpc2NvLXJvb3Rkc2UuYworaW5kZXggZDliNDRiMy4uMjBmZWJl MiAxMDA2NDQKKy0tLSBhL3NlcnZpY2UvcmVhbG0tZGlzY28tcm9vdGRzZS5jCisrKysgYi9zZXJ2 aWNlL3JlYWxtLWRpc2NvLXJvb3Rkc2UuYworQEAgLTM0LDYgKzM0LDcgQEAgc3RydWN0IF9DbG9z dXJlIHsKKyAKKyAJZ2NoYXIgKmRlZmF1bHRfbmFtaW5nX2NvbnRleHQ7CisgCWdpbnQgbXNnaWQ7 CisrCWdib29sZWFuIGhhc19pcGFfa2V5dGFiX3NldF9vaWQ7CisgCisgCWdib29sZWFuICgqIHJl cXVlc3QpIChHVGFzayAqdGFzaywKKyAJICAgICAgICAgICAgICAgICAgICAgIENsb3N1cmUgKmNs bywKK0BAIC0xNzcsNiArMTc4LDMxIEBAIHJlcXVlc3Rfa3JiX3JlYWxtIChHVGFzayAqdGFzaywK KyAJICAgICAgICAgICAgICAgICAgICBMREFQX1NDT1BFX1NVQiwgIihvYmplY3RDbGFzcz1rcmJS ZWFsbUNvbnRhaW5lcikiLCBhdHRycyk7CisgfQorIAorK3N0YXRpYyBnY2hhciAqIGdldF9kb21h aW5fZnJvbV9kbiAoY29uc3QgZ2NoYXIgKmRuKQorK3sKKysJY2hhciAqZG9tYWluOworKwlnY2hh ciAqb3V0OworKworKwlpbnQgcmV0OworKworKwlyZXQgPSBsZGFwX2RuMmRvbWFpbiAoIChjb25z dCBjaGFyICopIGRuLCAmZG9tYWluKTsKKysJaWYgKHJldCAhPSAwICkgeworKwkJZ19kZWJ1ZyAo IkZhaWxlZCB0byBnZXQgZG9tYWluIG5hbWUgZnJvbSBETiAlcyIsIGRuKTsKKysJCXJldHVybiBO VUxMOworKwl9CisrCWlmICghcmVhbG1fb3B0aW9uc19jaGVja19kb21haW5fbmFtZSAoZG9tYWlu KSkgeworKwkJYmVyX21lbWZyZWUgKGRvbWFpbik7CisrCQlnX21lc3NhZ2UgKCJJbnZhbGlkIHZh bHVlIGluIGRvbWFpbiBuYW1lICVzIGRlcml2ZWQgZnJvbSAlcyIsCisrCQkgICAgICAgICAgIGRv bWFpbiwgZG4pOworKwkJcmV0dXJuIE5VTEw7CisrCX0KKysKKysJb3V0ID0gZ19zdHJkdXAgKGRv bWFpbik7CisrCWJlcl9tZW1mcmVlIChkb21haW4pOworKworKwlyZXR1cm4gb3V0OworK30KKysK KyBzdGF0aWMgZ2Jvb2xlYW4KKyByZXN1bHRfZG9tYWluX2luZm8gKEdUYXNrICp0YXNrLAorICAg ICAgICAgICAgICAgICAgICAgQ2xvc3VyZSAqY2xvLAorQEAgLTE4OCw4ICsyMTQsMTEgQEAgcmVz dWx0X2RvbWFpbl9pbmZvIChHVGFzayAqdGFzaywKKyAKKyAJZW50cnkgPSBsZGFwX2ZpcnN0X2Vu dHJ5IChsZGFwLCBtZXNzYWdlKTsKKyAKKy0JLyogSWYgd2UgY2FuJ3QgcmV0cmlldmUgdGhpcywg dGhlbiBub3RoaW5nIG1vcmUgdG8gZG8gKi8KKy0JaWYgKGVudHJ5ID09IE5VTEwpIHsKKysJLyog SWYgd2UgY2FuJ3QgcmV0cmlldmUgdGhpcywgdGhlbiBub3RoaW5nIG1vcmUgdG8gZG8uIElmIHdl IGNhbgorKyAgICAgICAgICogYWxyZWFkeSBzYWZlbHkgYXNzdW1lIHRoYXQgdGhlIGRvbWFpbiBp cyBJUEEgYmVjYXVzZSBhbiBJUEEKKysgICAgICAgICAqIHNwZWNpZmljIExEQVAgZXh0ZW5zaW9u IHdhcyBmb3VuZCwgd2UgdHJ5IHRvIGRlcml2ZSB0aGUgZG9tYWluIG5hbWUKKysgICAgICAgICAq IGFuZCB0aGUgS2VyYmVyb3MgcmVhbG0gZnJvbSB0aGUgZGVmYXVsdCBuYW1pbmcgY29udGV4dC4g ICovCisrCWlmIChlbnRyeSA9PSBOVUxMICYmICFjbG8tPmhhc19pcGFfa2V5dGFiX3NldF9vaWQp IHsKKyAJCWdfZGVidWcgKCJDb3VsZG4ndCByZWFkIGRlZmF1bHQgbmFtaW5nIGNvbnRleHQiKTsK KyAJCWdfdGFza19yZXR1cm5fbmV3X2Vycm9yICh0YXNrLCBSRUFMTV9MREFQX0VSUk9SLCBMREFQ X05PX1NVQ0hfT0JKRUNULAorIAkJICAgICAgICAgICAgICAgICAgICAgICAgICJDb3VsZG4ndCBs b29rdXAgZG9tYWluIG5hbWUgb24gTERBUCBzZXJ2ZXIiKTsKK0BAIC0xOTgsMjEgKzIyNyw0MCBA QCByZXN1bHRfZG9tYWluX2luZm8gKEdUYXNrICp0YXNrLAorIAorIAkvKiBXaGF0IGtpbmQgb2Yg c2VydmVyIGlzIGl0PyAqLworIAljbG8tPmRpc2NvLT5zZXJ2ZXJfc29mdHdhcmUgPSBOVUxMOwor LQlidnMgPSBsZGFwX2dldF92YWx1ZXNfbGVuIChsZGFwLCBlbnRyeSwgImluZm8iKTsKKy0JaWYg KGJ2cyAmJiBidnNbMF0gJiYgYnZzWzBdLT5idl9sZW4gPj0gMykgeworLQkJaWYgKGdfYXNjaWlf c3RybmNhc2VjbXAgKGJ2c1swXS0+YnZfdmFsLCAiSVBBIiwgMykgPT0gMCkKKy0JCQljbG8tPmRp c2NvLT5zZXJ2ZXJfc29mdHdhcmUgPSBSRUFMTV9EQlVTX0lERU5USUZJRVJfSVBBOworKwlpZiAo ZW50cnkgPT0gTlVMTCkgeworKwkJZ19kZWJ1ZyAoIkNvdWxkbid0IHJlYWQgZGVmYXVsdCBuYW1p bmcgY29udGV4dCwgYXNzdW1pbmcgSVBBIik7CisrCQljbG8tPmRpc2NvLT5zZXJ2ZXJfc29mdHdh cmUgPSBSRUFMTV9EQlVTX0lERU5USUZJRVJfSVBBOworKwl9IGVsc2UgeworKwkJYnZzID0gbGRh cF9nZXRfdmFsdWVzX2xlbiAobGRhcCwgZW50cnksICJpbmZvIik7CisrCQlpZiAoYnZzICYmIGJ2 c1swXSAmJiBidnNbMF0tPmJ2X2xlbiA+PSAzKSB7CisrCQkJaWYgKGdfYXNjaWlfc3RybmNhc2Vj bXAgKGJ2c1swXS0+YnZfdmFsLCAiSVBBIiwgMykgPT0gMCkKKysJCQkJY2xvLT5kaXNjby0+c2Vy dmVyX3NvZnR3YXJlID0gUkVBTE1fREJVU19JREVOVElGSUVSX0lQQTsKKysJCX0KKysJCWxkYXBf dmFsdWVfZnJlZV9sZW4gKGJ2cyk7CisgCX0KKy0JbGRhcF92YWx1ZV9mcmVlX2xlbiAoYnZzKTsK KyAKKyAJaWYgKGNsby0+ZGlzY28tPnNlcnZlcl9zb2Z0d2FyZSkKKyAJCWdfZGVidWcgKCJHb3Qg c2VydmVyIHNvZnR3YXJlOiAlcyIsIGNsby0+ZGlzY28tPnNlcnZlcl9zb2Z0d2FyZSk7CisgCisg CS8qIFdoYXQgaXMgdGhlIGRvbWFpbiBuYW1lPyAqLworIAlnX2ZyZWUgKGNsby0+ZGlzY28tPmRv bWFpbl9uYW1lKTsKKy0JY2xvLT5kaXNjby0+ZG9tYWluX25hbWUgPSBlbnRyeV9nZXRfYXR0cmli dXRlIChsZGFwLCBlbnRyeSwgImFzc29jaWF0ZWREb21haW4iLCBUUlVFKTsKKyAKKy0JZ19kZWJ1 ZyAoIkdvdCBhc3NvY2lhdGVkRG9tYWluOiAlcyIsIGNsby0+ZGlzY28tPmRvbWFpbl9uYW1lKTsK KysJaWYgKGVudHJ5ID09IE5VTEwpIHsKKysJCWNsby0+ZGlzY28tPmRvbWFpbl9uYW1lID0gZ2V0 X2RvbWFpbl9mcm9tX2RuIChjbG8tPmRlZmF1bHRfbmFtaW5nX2NvbnRleHQpOworKwkJaWYgKGNs by0+ZGlzY28tPmRvbWFpbl9uYW1lICE9IE5VTEwpIHsKKysJCQljbG8tPmRpc2NvLT5rZXJiZXJv c19yZWFsbSA9IGdfYXNjaWlfc3RydXAgKGNsby0+ZGlzY28tPmRvbWFpbl9uYW1lLCAtMSk7Cisr CQl9CisrCX0gZWxzZSB7CisrCQljbG8tPmRpc2NvLT5kb21haW5fbmFtZSA9IGVudHJ5X2dldF9h dHRyaWJ1dGUgKGxkYXAsIGVudHJ5LCAiYXNzb2NpYXRlZERvbWFpbiIsIFRSVUUpOworKwl9Cisr CisrCWdfZGVidWcgKCJHb3QgZG9tYWluIG5hbWU6ICVzIiwgY2xvLT5kaXNjby0+ZG9tYWluX25h bWUpOworKworKwlpZiAoZW50cnkgPT0gTlVMTCkgeworKwkJLyogTERBUCBhbHJlYWR5IGZhaWxl ZCwgbm8gbmVlZCBmb3IgYW5vdGhlciB0cnkgKi8KKysJCWdfdGFza19yZXR1cm5fYm9vbGVhbiAo dGFzaywgVFJVRSk7CisrCQlyZXR1cm4gRkFMU0U7CisrCX0KKyAKKyAJLyogTmV4dCBzZWFyY2gg Zm9yIEtlcmJlcm9zIGNvbnRhaW5lciAqLworIAljbG8tPnJlcXVlc3QgPSByZXF1ZXN0X2tyYl9y ZWFsbTsKK0BAIC0zNzYsNiArNDI0LDE1IEBAIHJlc3VsdF9yb290X2RzZSAoR1Rhc2sgKnRhc2ss CisgCQkJcmV0dXJuIEZBTFNFOworIAkJfQorIAorKwkJLyogQ2hlY2sgZm9yIElQQSdzIEtFWVRB Ql9TRVRfT0lEIExEQVAgZXh0ZW5zaW9uLiBFdmVuIGlmIGl0CisrCQkgKiBpcyBub3QgcHJlc2Vu dCB3ZSBjb250aW51ZSB0byBjaGVjayBmb3IgSVBBIHNpbmNlIHRoZXJlIGlzCisrCQkgKiBjdXJy ZW50bHkgbm8gb3RoZXIgc2VydmVyIHR5cGUgc3VwcG9ydGVkLiAqLworKwkJY2xvLT5oYXNfaXBh X2tleXRhYl9zZXRfb2lkID0gRkFMU0U7CisrCQlpZiAoZW50cnlfaGFzX2F0dHJpYnV0ZSAobGRh cCwgZW50cnksICJzdXBwb3J0ZWRFeHRlbnNpb24iLAorKwkJICAgICAgICAgICAgICAgICAgICAg ICAgICIyLjE2Ljg0MC4xLjExMzczMC4zLjguMTAuMSIpKSB7CisrCQkJY2xvLT5oYXNfaXBhX2tl eXRhYl9zZXRfb2lkID0gVFJVRTsKKysJCX0KKysKKyAJCS8qIE5leHQgc2VhcmNoIGZvciBJUEEg ZmllbGQgKi8KKyAJCWNsby0+cmVxdWVzdCA9IHJlcXVlc3RfZG9tYWluX2luZm87CisgCQljbG8t PnJlc3VsdCA9IE5VTEw7CitAQCAtMzg4LDcgKzQ0NSw4IEBAIHJlcXVlc3Rfcm9vdF9kc2UgKEdU YXNrICp0YXNrLAorICAgICAgICAgICAgICAgICAgIENsb3N1cmUgKmNsbywKKyAgICAgICAgICAg ICAgICAgICBMREFQICpsZGFwKQorIHsKKy0JY29uc3QgY2hhciAqYXR0cnNbXSA9IHsgImRlZmF1 bHROYW1pbmdDb250ZXh0IiwgInN1cHBvcnRlZENhcGFiaWxpdGllcyIsIE5VTEwgfTsKKysJY29u c3QgY2hhciAqYXR0cnNbXSA9IHsgImRlZmF1bHROYW1pbmdDb250ZXh0IiwgInN1cHBvcnRlZENh cGFiaWxpdGllcyIsCisrCSAgICAgICAgICAgICAgICAgICAgICAgICJzdXBwb3J0ZWRFeHRlbnNp b24iLCBOVUxMIH07CisgCisgCWNsby0+cmVxdWVzdCA9IE5VTEw7CisgCWNsby0+cmVzdWx0ID0g cmVzdWx0X3Jvb3RfZHNlOworLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMDUtdG9vbHMt YWRkLW1lc3NhZ2UtYWZ0ZXItc3VjY2Vzc2Z1bC1qb2luLnBhdGNoIGIvMDAwNS10b29scy1hZGQt bWVzc2FnZS1hZnRlci1zdWNjZXNzZnVsLWpvaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uODdkMTVmMQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDUtdG9vbHMtYWRk LW1lc3NhZ2UtYWZ0ZXItc3VjY2Vzc2Z1bC1qb2luLnBhdGNoCkBAIC0wLDAgKzEsMTY3IEBACitG cm9tIGIyOGZmNTQ4OGJiNDQ0MWFlNmZhZTZlZDRkZDhhY2RkMGM3MzY3MzYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgorRGF0ZTog RnJpLCAxOSBTZXAgMjAyNSAxNTozNzozMSArMDIwMAorU3ViamVjdDogW1BBVENIIDA1LzIwXSB0 b29sczogYWRkIG1lc3NhZ2UgYWZ0ZXIgc3VjY2Vzc2Z1bCBqb2luCisKK0lmIHRoZSByZWFsbSBq b2luIGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bCBpdCB3aWxsIHRlbGwgaXQgbm93IGF0IHRoZSBlbmQK K29mIHRoZSBvcGVyYXRpb24uIEFkZGl0aW9uYWxseSBpdCB3aWxsIGdpdmUgc29tZSBpbmZvcm1h dGlvbiBpZiB0aGUKK3N5c3RlbSBpcyBjb25maWd1cmVkIGZvciBmdWxseS1xdWFsaWZpZWQgbmFt ZXMgb3IgaWYgc2hvcnQgbmFtZXMgY2FuIGJlCit1c2VkLgorLS0tCisgdG9vbHMvcmVhbG0tam9p bi5jIHwgMTI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwor IDEgZmlsZSBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdG9vbHMv cmVhbG0tam9pbi5jIGIvdG9vbHMvcmVhbG0tam9pbi5jCitpbmRleCBmYzY5Njc4Li5jYjI5MGNj IDEwMDY0NAorLS0tIGEvdG9vbHMvcmVhbG0tam9pbi5jCisrKysgYi90b29scy9yZWFsbS1qb2lu LmMKK0BAIC0yNzcsNiArMjc3LDEwNyBAQCBwZXJmb3JtX2pvaW4gKFJlYWxtQ2xpZW50ICpjbGll bnQsCisgCXJldHVybiByZXQ7CisgfQorIAorK3N0YXRpYyBnY2hhciAqCisrZGlzY29fcmVhbG1f bmFtZSAoUmVhbG1DbGllbnQgKmNsaWVudCwgUmVhbG1Kb2luQXJncyAqYXJncykKKyt7CisrCVJl YWxtRGJ1c0tlcmJlcm9zTWVtYmVyc2hpcCAqbWVtYmVyc2hpcDsKKysJUmVhbG1EYnVzUmVhbG0g KnJlYWxtOworKwlHRXJyb3IgKmVycm9yID0gTlVMTDsKKysJR0xpc3QgKnJlYWxtcyA9IE5VTEw7 CisrCWdjaGFyICpuYW1lID0gTlVMTDsKKysKKysJcmVhbG1zID0gcmVhbG1fY2xpZW50X2Rpc2Nv dmVyIChjbGllbnQsICIiLCBhcmdzLT51c2VfbGRhcHMsIGFyZ3MtPmNsaWVudF9zb2Z0d2FyZSwK KysJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5zZXJ2ZXJfc29mdHdhcmUs IGFyZ3MtPm1lbWJlcnNoaXBfc29mdHdhcmUsCisrCSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUkVBTE1fREJVU19LRVJCRVJPU19NRU1CRVJTSElQX0lOVEVSRkFDRSwKKysJICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAmZXJyb3IpOworKworKwlpZiAoZXJyb3Ig IT0gTlVMTCkgeworKwkJaWYgKHJlYWxtcyAhPSBOVUxMKSB7CisrCQkJZ19saXN0X2ZyZWVfZnVs bCAocmVhbG1zLCBnX29iamVjdF91bnJlZik7CisrCQl9CisrCQlyZWFsbV9oYW5kbGVfZXJyb3Ig KGVycm9yLCBfKCJGYWlsZWQgdG8gZGlzY292ZXIgcmVhbG0iKSk7CisrCQlyZXR1cm4gTlVMTDsK KysJfQorKworKwlpZiAocmVhbG1zID09IE5VTEwpIHsKKysJCXJlYWxtX2hhbmRsZV9lcnJvciAo TlVMTCwgXygiTm8gcmVhbG0gZm91bmQiKSk7CisrCQlyZXR1cm4gTlVMTDsKKysJfQorKworKwlt ZW1iZXJzaGlwID0gcmVhbG1zLT5kYXRhOworKwlyZWFsbSA9IHJlYWxtX2NsaWVudF90b19yZWFs bSAoY2xpZW50LCBtZW1iZXJzaGlwKTsKKysJaWYgKHJlYWxtICE9IE5VTEwpIHsKKysJCW5hbWUg PSBnX3N0cmR1cCAocmVhbG1fZGJ1c19yZWFsbV9nZXRfbmFtZSAocmVhbG0pKTsKKysJCWdfb2Jq ZWN0X3VucmVmIChyZWFsbSk7CisrCX0KKysJZ19saXN0X2ZyZWVfZnVsbCAocmVhbG1zLCBnX29i amVjdF91bnJlZik7CisrCisrCXJldHVybiBuYW1lOworK30KKysKKytzdGF0aWMgaW50CisrcmVh bG1fY2xpZW50X2RvbWFpbl9oYXNfZnVsbHlfcXVhbGlmaWVkX25hbWVzIChSZWFsbUNsaWVudCAq Y2xpZW50LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZ2NoYXIgKmNvbnN0IGlucHV0X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZWFsbUpvaW5BcmdzICphcmdzLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gKmZ1bGx5X3F1YWxp ZmllZF9uYW1lcykKKyt7CisrCVJlYWxtRGJ1c1Byb3ZpZGVyICpwcm92aWRlcjsKKysJUmVhbG1E YnVzUmVhbG0gKnJlYWxtID0gTlVMTDsKKysJY29uc3QgZ2NoYXIgKmNvbnN0ICpyZWFsbXM7Cisr CWNvbnN0IGdjaGFyICpuYW1lOworKwlzaXplX3QgYzsKKysJY29uc3QgZ2NoYXIgKmNvbnN0ICpm b3JtYXRzOworKwljb25zdCBnY2hhciAqcmVhbG1fbmFtZTsKKysJZ2NoYXIgKnRtcF9uYW1lID0g TlVMTDsKKysKKysJaWYgKGlucHV0X25hbWUgPT0gTlVMTCB8fCAqaW5wdXRfbmFtZSA9PSAnXDAn KSB7CisrCQl0bXBfbmFtZSA9IGRpc2NvX3JlYWxtX25hbWUgKGNsaWVudCwgYXJncyk7CisrCQlp ZiAodG1wX25hbWUgPT0gTlVMTCkgeworKwkJCXJldHVybiBFTk9FTlQ7CisrCQl9CisrCQlyZWFs bV9uYW1lID0gdG1wX25hbWU7CisrCX0gZWxzZSB7CisrCQlyZWFsbV9uYW1lID0gaW5wdXRfbmFt ZTsKKysJfQorKworKwlwcm92aWRlciA9IHJlYWxtX2NsaWVudF9nZXRfcHJvdmlkZXIgKGNsaWVu dCk7CisrCXJlYWxtcyA9IHJlYWxtX2RidXNfcHJvdmlkZXJfZ2V0X3JlYWxtcyAocHJvdmlkZXIp OworKworKwkqZnVsbHlfcXVhbGlmaWVkX25hbWVzID0gZmFsc2U7CisrCWZvciAoYyA9IDA7IHJl YWxtcyAmJiByZWFsbXNbY10gIT0gTlVMTDsgYysrKSB7CisrCQlnX2NsZWFyX29iamVjdCAoJnJl YWxtKTsKKysJCXJlYWxtID0gcmVhbG1fY2xpZW50X2dldF9yZWFsbSAoY2xpZW50LCByZWFsbXNb Y10pOworKwkJaWYgKHJlYWxtID09IE5VTEwgfHwgIXJlYWxtX2lzX2NvbmZpZ3VyZWQgKHJlYWxt KSkgeworKwkJCWNvbnRpbnVlOworKwkJfQorKworKwkJbmFtZSA9IHJlYWxtX2RidXNfcmVhbG1f Z2V0X25hbWUgKHJlYWxtKTsKKysJCWlmIChuYW1lID09IE5VTEwgfHwgc3RyY2FzZWNtcCAobmFt ZSwgcmVhbG1fbmFtZSkgIT0gMCkgeworKwkJCWNvbnRpbnVlOworKwkJfQorKworKwkJZm9ybWF0 cyA9IHJlYWxtX2RidXNfcmVhbG1fZ2V0X2xvZ2luX2Zvcm1hdHMgKHJlYWxtKTsKKysJCS8qIFRo ZSBmaXJzdCBlbnRyeSBpbiB0aGUgYXJyYXkgaXMgdGhlIHByZWZlcnJlZAorKwkJICogZm9ybWF0 IGFuZCAiJVUiIGlzIHRoZSBwbGFjZWhvbGRlciBmb3IgdGhlIHNob3J0IHVzZXIKKysJCSAqIG5h bWUuICovCisrCQlpZiAoZm9ybWF0cyAhPSBOVUxMICYmIGZvcm1hdHNbMF0gIT0gTlVMTAorKwkJ ICAgICAgICAgICAgICAgICAgICAmJiAqZm9ybWF0c1swXSAhPSAnXDAnCisrCQkgICAgICAgICAg ICAgICAgICAgICYmIHN0cmNtcCAoZm9ybWF0c1swXSwgIiVVIikgIT0gMCkgeworKwkJCSpmdWxs eV9xdWFsaWZpZWRfbmFtZXMgPSB0cnVlOworKwkJfQorKworKwkJYnJlYWs7CisrCX0KKysKKysJ Z19mcmVlICh0bXBfbmFtZSk7CisrCWdfY2xlYXJfb2JqZWN0ICgmcmVhbG0pOworKwlpZiAocmVh bG1zID09IE5VTEwgfHwgcmVhbG1zW2NdID09IE5VTEwpIHsKKysJCXJldHVybiBFTk9FTlQ7Cisr CX0KKysKKysJcmV0dXJuIDA7CisrfQorKworIGludAorIHJlYWxtX2pvaW4gKFJlYWxtQ2xpZW50 ICpjbGllbnQsCisgICAgICAgICAgICAgaW50IGFyZ2MsCitAQCAtMjg4LDYgKzM4OSw3IEBAIHJl YWxtX2pvaW4gKFJlYWxtQ2xpZW50ICpjbGllbnQsCisgCVJlYWxtSm9pbkFyZ3MgYXJnczsKKyAJ R09wdGlvbkdyb3VwICpncm91cDsKKyAJZ2ludCByZXQgPSAwOworKwlnYm9vbGVhbiBoYXNfZnFu ID0gZmFsc2U7CisgCisgCUdPcHRpb25FbnRyeSBvcHRpb25fZW50cmllc1tdID0geworIAkJeyAi YXV0b21hdGljLWlkLW1hcHBpbmciLCAwLCBHX09QVElPTl9GTEFHX09QVElPTkFMX0FSRywgR19P UFRJT05fQVJHX0NBTExCQUNLLAorQEAgLTM1NSw2ICs0NTcsMzAgQEAgcmVhbG1fam9pbiAoUmVh bG1DbGllbnQgKmNsaWVudCwKKyAJCXJldCA9IHBlcmZvcm1fam9pbiAoY2xpZW50LCByZWFsbV9u YW1lLCAmYXJncyk7CisgCX0KKyAKKysJaWYgKHJldCA9PSAwICYmICFyZWFsbV91bmF0dGVuZGVk KSB7CisrCQlnX3ByaW50ICgiSm9pbiBpcyBzdWNjZXNzZnVsIVxuIik7CisrCQlpZiAocmVhbG1f Y2xpZW50X2RvbWFpbl9oYXNfZnVsbHlfcXVhbGlmaWVkX25hbWVzIChjbGllbnQsIHJlYWxtX25h bWUsICZhcmdzLCAmaGFzX2ZxbikgIT0gMCkgeworKwkJCWdfcHJpbnRlcnIgKCIlczogJXNcbiIs IGdfZ2V0X3ByZ25hbWUgKCksCisrCQkJICAgICAgICAgICAgXygiQ2Fubm90IGRldGVybWluZSBp ZiBmdWxseS1xdWFsaWZpZWQgbmFtZSBhcmUgdXNlZCBvciBub3QiKSk7CisrCQl9IGVsc2Ugewor KwkJCWlmIChoYXNfZnFuKSB7CisrCQkJCWdfcHJpbnQgKAorKwkJCQkgICAgXygiUGxlYXNlIG5v dGUgdGhhdCBieSBkZWZhdWx0LCB5b3UgaGF2ZSB0byB1c2UgZnVsbHktcXVhbGlmaWVkIG5hbWVz XG4iCisrCQkJCSAgICAiZHVyaW5nIEFEIHVzZXIgbG9va3VwICYgbG9naW4gaW5zdGVhZCBvZiBq dXN0IHNob3J0IG5hbWVzXG4iCisrCQkJCSAgICAiZS5nLiAndXNlcm5hbWVAZG9tYWluJyBpbnN0 ZWFkIG9mIGp1c3QgJ3VzZXJuYW1lJy4gQWx0aG91Z2hcbiIKKysJCQkJICAgICJmdWxseS1xdWFs aWZpZWQgbmFtZXMgYXJlIHJlY29tbWVuZGVkLCB0aGlzIGJlaGF2aW91ciBjYW4gYmUgY2hhbmdl ZFxuIgorKwkJCQkgICAgImluIHNzc2QuY29uZiBmaWxlIHdpdGggdGhlICd1c2VfZnVsbHlfcXVh bGlmaWVkX25hbWVzID0gRmFsc2UnIG9wdGlvbi5cbiIpKTsKKysJCQl9IGVsc2UgeworKwkJCQln X3ByaW50ICgKKysJCQkJICAgIF8oIlBsZWFzZSBub3RlIHRoYXQgYnkgZGVmYXVsdCwgeW91IGNh biB1c2Ugc2hvcnQgbmFtZXMgZHVyaW5nIEFEIHVzZXJcbiIKKysJCQkJICAgICJsb29rdXAgJiBs b2dpbiBpbnN0ZWFkIG9mIGZ1bGx5LXF1YWxpZmllZCBuYW1lc1xuIgorKwkJCQkgICAgImUuZy4g J3VzZXJuYW1lJyBpbnN0ZWFkIG9mICd1c2VybmFtZUBkb21haW4nLiBJZiB5b3UgcHJlZmVyXG4i CisrCQkJCSAgICAiZnVsbHktcXVhbGlmaWVkIG5hbWVzLCB0aGlzIGJlaGF2aW91ciBjYW4gYmUg Y2hhbmdlZFxuIgorKwkJCQkgICAgImluIHNzc2QuY29uZiBmaWxlIHdpdGggdGhlICd1c2VfZnVs bHlfcXVhbGlmaWVkX25hbWVzID0gVHJ1ZScgb3B0aW9uLlxuIikpOworKwkJCX0KKysJCX0KKysJ fQorKworIAlnX29wdGlvbl9jb250ZXh0X2ZyZWUgKGNvbnRleHQpOworIAlyZXR1cm4gcmV0Owor IH0KKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDA2LWRvYy1hZGQtcmVuZXctb3B0aW9u LW9mLXJlYWxtLW1hbi1wYWdlLnBhdGNoIGIvMDAwNi1kb2MtYWRkLXJlbmV3LW9wdGlvbi1vZi1y ZWFsbS1tYW4tcGFnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5h Nzc4YTY5Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwNi1kb2MtYWRkLXJlbmV3LW9wdGlvbi1vZi1y ZWFsbS1tYW4tcGFnZS5wYXRjaApAQCAtMCwwICsxLDkwIEBACitGcm9tIDVhZDAzMTE0NTlkYjNl MjkxZGI4OGUxYjljMmJjZGU5MTI2OThjY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAxNCBPY3QgMjAyNSAx MDozNzowMSArMDIwMAorU3ViamVjdDogW1BBVENIIDA2LzIwXSBkb2M6IGFkZCAncmVuZXcnIG9w dGlvbiBvZiByZWFsbSBtYW4gcGFnZQorCistLS0KKyBkb2MvbWFudWFsL3JlYWxtLnhtbCB8IDYw ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNo YW5nZWQsIDYwIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RvYy9tYW51YWwvcmVhbG0u eG1sIGIvZG9jL21hbnVhbC9yZWFsbS54bWwKK2luZGV4IDA2OTMyODMuLmNhYTYzMDggMTAwNjQ0 CistLS0gYS9kb2MvbWFudWFsL3JlYWxtLnhtbAorKysrIGIvZG9jL21hbnVhbC9yZWFsbS54bWwK K0BAIC0zOCw2ICszOCw5IEBACisgCTxjbWRzeW5vcHNpcz4KKyAJCTxjb21tYW5kPnJlYWxtIGxl YXZlPC9jb21tYW5kPiA8YXJnIGNob2ljZT0ib3B0Ij4tVSB1c2VyPC9hcmc+IDxhcmcgY2hvaWNl PSJvcHQiPnJlYWxtLW5hbWU8L2FyZz4KKyAJPC9jbWRzeW5vcHNpcz4KKysJPGNtZHN5bm9wc2lz PgorKwkJPGNvbW1hbmQ+cmVhbG0gcmVuZXc8L2NvbW1hbmQ+IDxhcmcgY2hvaWNlPSJvcHQiPnJl YWxtLW5hbWU8L2FyZz4KKysJPC9jbWRzeW5vcHNpcz4KKyAJPGNtZHN5bm9wc2lzPgorIAkJPGNv bW1hbmQ+cmVhbG0gbGlzdDwvY29tbWFuZD4KKyAJPC9jbWRzeW5vcHNpcz4KK0BAIC00MDcsNiAr NDEwLDYzIEBAICQgcmVhbG0gbGVhdmUgZG9tYWluLmV4YW1wbGUuY29tCisgCisgPC9yZWZzZWN0 MT4KKyAKKys8cmVmc2VjdDEgaWQ9Im1hbi1yZW5ldyI+CisrCTx0aXRsZT5SZW5ldzwvdGl0bGU+ CisrCisrCTxwYXJhPlJlbmV3IHRoZSBtYWNoaW5lIGFjY291bnQgcGFzc3dvcmQgYW5kIHVwZGF0 ZSB0aGUga2V5dGFiLjwvcGFyYT4KKysKKysJPGluZm9ybWFsZXhhbXBsZT4KKys8cHJvZ3JhbWxp c3Rpbmc+CisrJCByZWFsbSByZW5ldworKzwvcHJvZ3JhbWxpc3Rpbmc+CisrPHByb2dyYW1saXN0 aW5nPgorKyQgcmVhbG0gcmVuZXcgLS1jb21wdXRlci1wYXNzd29yZC1saWZldGltZT0xMCBkb21h aW4uZXhhbXBsZS5jb20KKys8L3Byb2dyYW1saXN0aW5nPgorKwk8L2luZm9ybWFsZXhhbXBsZT4K KysKKysJPHBhcmE+UmVuZXcgdGhlIG1hY2hpbmUgYWNjb3VudCBwYXNzd29yZCB3aXRoIHRoZSBo ZWxwIG9mIHRoZSBleGlzdGluZyBvbmUKKysJZnJvbSBhIGtleXRhYiBhbmQgc3RvcmUgdGhlIG5l dyB2ZXJzaW9uIGluIHRoZSBrZXl0YWIuIElmIG5vIGRvbWFpbiBuYW1lIGlzCisrCWdpdmVuIGl0 IGlzIGRlcml2ZWQgZnJvbSB0aGUgZXhpc3RpbmcgY29uZmlndXJhdGlvbi48L3BhcmE+CisrCisr CTxwYXJhPlRoZSBmb2xsb3dpbmcgb3B0aW9ucyBjYW4gYmUgdXNlZDo8L3BhcmE+CisrCisrCTx2 YXJpYWJsZWxpc3Q+CisrCQk8dmFybGlzdGVudHJ5PgorKwkJCTx0ZXJtPjxvcHRpb24+LS1tZW1i ZXJzaGlwLXNvZnR3YXJlPXh4eDwvb3B0aW9uPjwvdGVybT4KKysJCQk8bGlzdGl0ZW0+PHBhcmE+ VXNlIHNwZWNpZmllZCBtZW1iZXJzaGlwIHNvZnR3YXJlLCBjdXJyZW50bHkKKysJCQlvbmx5IDxy ZXBsYWNlYWJsZT5hZGNsaTwvcmVwbGFjZWFibGU+IGlzIHN1cHBvcnRlZC4KKysJCQk8L3BhcmE+ PC9saXN0aXRlbT4KKysJCTwvdmFybGlzdGVudHJ5PgorKwkJPHZhcmxpc3RlbnRyeT4KKysJCQk8 dGVybT48b3B0aW9uPi0tdXNlLWxkYXBzPC9vcHRpb24+PC90ZXJtPgorKwkJCTxsaXN0aXRlbT48 cGFyYT5TZWUgb3B0aW9uIGRlc2NyaXB0aW9uIGluCisrCQkJPHhyZWYgbGlua2VuZD0ibWFuLWpv aW4iLz4uPC9wYXJhPjwvbGlzdGl0ZW0+CisrCQk8L3Zhcmxpc3RlbnRyeT4KKysJCTx2YXJsaXN0 ZW50cnk+CisrCQkJPHRlcm0+PG9wdGlvbj4tLWhvc3Qta2V5dGFiPXh4eDwvb3B0aW9uPjwvdGVy bT4KKysJCQk8bGlzdGl0ZW0+PHBhcmE+UGF0aCB0byB0aGUga2V5dGFiLCBpZiBub3Qgc3BlY2lm aWVkIHRoZQorKwkJCWRlZmF1bHQga2V5dGFiIGZpbGUgd2lsbCBiZSB1c2VkLjwvcGFyYT48L2xp c3RpdGVtPgorKwkJPC92YXJsaXN0ZW50cnk+CisrCQk8dmFybGlzdGVudHJ5PgorKwkJCTx0ZXJt PjxvcHRpb24+LS1ob3N0LWZxZG49eHh4PC9vcHRpb24+PC90ZXJtPgorKwkJCTxsaXN0aXRlbT48 cGFyYT5GdWxseS1xdWFsaWZpZWQgbmFtZSBvZiB0aGUgaG9zdCwgb25seSBuZWVkZWQKKysJCQlp ZiBpdCBpcyBub3QgZGV0ZXJtaW5lZCBjb3JyZWN0bHkgYXV0b21hdGljYWxseS4KKysJCQk8L3Bh cmE+PC9saXN0aXRlbT4KKysJCTwvdmFybGlzdGVudHJ5PgorKwkJPHZhcmxpc3RlbnRyeT4KKysJ CQk8dGVybT48b3B0aW9uPi0tY29tcHV0ZXItcGFzc3dvcmQtbGlmZXRpbWU9eHh4PC9vcHRpb24+ PC90ZXJtPgorKwkJCTxsaXN0aXRlbT48cGFyYT5MaWZldGltZSBvZiB0aGUgbWFjaGluZSBhY2Nv dW50IHBhc3N3b3JkIGluIGRheXMsCisrCQkJZGVmYXVsdCBpcyAzMC48L3BhcmE+PC9saXN0aXRl bT4KKysJCTwvdmFybGlzdGVudHJ5PgorKwkJPHZhcmxpc3RlbnRyeT4KKysJCQk8dGVybT48b3B0 aW9uPi0tYWRkLXNhbWJhLWRhdGE8L29wdGlvbj48L3Rlcm0+CisrCQkJPGxpc3RpdGVtPjxwYXJh PlRyeSB0byB1cGRhdGUgU2FtYmEncyBpbnRlcm5hbCBtYWNoaW5lIGFjY291bnQKKysJCQlwYXNz d29yZCBhcyB3ZWxsIGlmIGEgbWVtYmVyc2hpcCBzb2Z0d2FyZSBvdGhlciB0aGFuIFNhbWJhIGlz IHVzZWQuCisrCQkJPC9wYXJhPjwvbGlzdGl0ZW0+CisrCQk8L3Zhcmxpc3RlbnRyeT4KKysJPC92 YXJpYWJsZWxpc3Q+CisrPC9yZWZzZWN0MT4KKysKKyA8cmVmc2VjdDEgaWQ9Im1hbi1saXN0Ij4K KyAJPHRpdGxlPkxpc3Q8L3RpdGxlPgorIAorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAw MDctVGVzdGNhc2VzLUFkZGluZy1tdWx0aXBsZS10ZXN0Y2FzZXMucGF0Y2ggYi8wMDA3LVRlc3Rj YXNlcy1BZGRpbmctbXVsdGlwbGUtdGVzdGNhc2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjI4ODRiODIKLS0tIC9kZXYvbnVsbAorKysgYi8wMDA3LVRlc3RjYXNl cy1BZGRpbmctbXVsdGlwbGUtdGVzdGNhc2VzLnBhdGNoCkBAIC0wLDAgKzEsMjM1IEBACitGcm9t IDhmMDUxNDAzNGUzZTUyMWYyN2JhZTNiOTEwOGEyNDllYmVmMzJjZmQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBzaHJpZGhhcmdhZGVrYXIgPHNocmlkaGFyLmFsd2F5c0BnbWFpbC5j b20+CitEYXRlOiBGcmksIDUgRGVjIDIwMjUgMTQ6MTk6MTMgKzA1MzAKK1N1YmplY3Q6IFtQQVRD SCAwNy8yMF0gVGVzdGNhc2VzOiBBZGRpbmcgbXVsdGlwbGUgdGVzdGNhc2VzCisKK0FkZGVkIFRl c3RjYXNlcyBmb3IgZm9sbG93aW5nIHNjZW5hcmlvczoKKzEuIHJlYWxtIGpvaW4gLS1kby1ub3Qt dG91Y2gtY29uZmlnCisyLiAgUmVhbG0gbGVhdmUgcmVtb3ZlIGNvbXB1dGVyCiszLiBSZWFsbSBy ZW5ldyBjb21tYW5kCisKK1JlYXJyYW5nZWQgdGhlIGNvZGUsIGltcG9ydHMsIGRvYy1zdHJpZ3Mu CistLS0KKyB0ZXN0cy90ZXN0X3JlYWxtZC5weSB8IDE3MiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2MyBpbnNlcnRpb25zKCsp LCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9yZWFsbWQucHkgYi90 ZXN0cy90ZXN0X3JlYWxtZC5weQoraW5kZXggYzliODMzZC4uYTUxM2ZhNyAxMDA2NDQKKy0tLSBh L3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CisrKysgYi90ZXN0cy90ZXN0X3JlYWxtZC5weQorQEAgLTEs MTggKzEsMjEgQEAKKysiIiJyZWFsbWQgdGVzdCBjYXNlcyIiIgorKworIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgYW5ub3RhdGlvbnMKKyAKKy1pbXBvcnQgcHl0ZXN0CistaW1wb3J0IHRpbWUKKyBp bXBvcnQgb3MKKyBpbXBvcnQgc3lzCisraW1wb3J0IHRpbWUKKytmcm9tIHR5cGluZyBpbXBvcnQg QW55CisgCistCistZnJvbSAudG9wb2xvZ3kgaW1wb3J0IEtub3duVG9wb2xvZ3ksIEtub3duVG9w b2xvZ3lHcm91cAorK2ltcG9ydCBweXRlc3QKKyBmcm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsucm9s ZXMuYWQgaW1wb3J0IEFECisgZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnJvbGVzLmNsaWVudCBp bXBvcnQgQ2xpZW50CistZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnJvbGVzLmlwYSBpbXBvcnQg SVBBCisgZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnJvbGVzLmdlbmVyaWMgaW1wb3J0IEdlbmVy aWNBRFByb3ZpZGVyCisrZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnJvbGVzLmlwYSBpbXBvcnQg SVBBCisgZnJvbSBzc3NkX3Rlc3RfZnJhbWV3b3JrLnV0aWxzLnJlYWxtZCBpbXBvcnQgUmVhbG1V dGlscworIAorK2Zyb20gLnRvcG9sb2d5IGltcG9ydCBLbm93blRvcG9sb2d5LCBLbm93blRvcG9s b2d5R3JvdXAKKysKKyAKKyBAcHl0ZXN0Lm1hcmsuaW1wb3J0YW5jZSgiY3JpdGljYWwiKQorIEBw eXRlc3QubWFyay50b3BvbG9neShLbm93blRvcG9sb2d5R3JvdXAuQW55QUQpCitAQCAtMzgsNyAr NDEsMTIgQEAgZGVmIHRlc3RfcmVhbG1fam9pbihjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFu eSk6CisgICAgIDpleHBlY3RlZHJlc3VsdHM6CisgICAgICAgICAxLiBBIGNsaWVudCBzeXN0ZW0g am9pbmVkIHRvIHRoZSBkb21haW4gc3VjY2Vzc2Z1bGx5CisgICAgICIiIgorLSAgICByID0gY2xp ZW50LnJlYWxtLmpvaW4ocHJvdmlkZXIuaG9zdC5kb21haW4sIGtyYj1GYWxzZSwgdXNlcj1wcm92 aWRlci5ob3N0LmFkbWludXNlciwgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3KQorKyAg ICByID0gY2xpZW50LnJlYWxtLmpvaW4oCisrICAgICAgICBwcm92aWRlci5ob3N0LmRvbWFpbiwK KysgICAgICAgIGtyYj1GYWxzZSwKKysgICAgICAgIHVzZXI9ZiJ7cHJvdmlkZXIuaG9zdC5hZG1p bnVzZXJ9QHtwcm92aWRlci5ob3N0LmRvbWFpbi51cHBlcigpfSIsCisrICAgICAgICBwYXNzd29y ZD1wcm92aWRlci5ob3N0LmFkbWlucHcsCisrICAgICkKKyAgICAgYXNzZXJ0IHIucmMgPT0gMCwg InJlYWxtIGpvaW4gb3BlcmF0aW9uIGZhaWxlZCEiCisgICAgIGFzc2VydCAiU3VjY2Vzc2Z1bGx5 IGVucm9sbGVkIG1hY2hpbmUgaW4gcmVhbG0iIGluIHIuc3RkZXJyLCAicmVhbG0gZmFpbGVkIHRv IGpvaW4gY2xpZW50IHRvIHRoZSBkb21haW4iCisgCitAQCAtNDgsMTEgKzU2LDI1IEBAIGRlZiB0 ZXN0X3JlYWxtX2pvaW4oY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBBbnkpOgorIGRlZiB0ZXN0 X3JlYWxtX2xlYXZlKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogQW55KToKKyAgICAgIiIiCisg ICAgIDp0aXRsZTogcmVhbG0gbGVhdmUKKysgICAgOnNldHVwOgorKyAgICAgICAgMS4gSm9pbiBj bGllbnQgdG8gdGhlIGRvbWFpbgorICAgICA6c3RlcHM6CisrICAgICAgICAxLiBMZWF2ZSByZWFs bQorICAgICA6ZXhwZWN0ZWRyZXN1bHRzOgorKyAgICAgICAgMS4gQ2xpZW50IHN5c3RlbSBpcyBk ZWNvbmZpZ3VyZWQgZm9yIHJlYWxtIHVzZQorICAgICAiIiIKKy0gICAgY2xpZW50LnJlYWxtLmpv aW4ocHJvdmlkZXIuaG9zdC5kb21haW4sIGtyYj1GYWxzZSwgdXNlcj1wcm92aWRlci5ob3N0LmFk bWludXNlciwgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3KQorLSAgICByID0gY2xpZW50 LnJlYWxtLmxlYXZlKHByb3ZpZGVyLmhvc3QuZG9tYWluKQorKyAgICBjbGllbnQucmVhbG0uam9p bigKKysgICAgICAgIHByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAga3JiPUZhbHNlLAor KyAgICAgICAgdXNlcj1mIntwcm92aWRlci5ob3N0LmFkbWludXNlcn1Ae3Byb3ZpZGVyLmhvc3Qu ZG9tYWluLnVwcGVyKCl9IiwKKysgICAgICAgIHBhc3N3b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5w dywKKysgICAgKQorKyAgICByID0gY2xpZW50LnJlYWxtLmxlYXZlKAorKyAgICAgICAgcHJvdmlk ZXIuaG9zdC5kb21haW4sCisrICAgICAgICBrcmI9RmFsc2UsCisrICAgICAgICB1c2VyPWYie3By b3ZpZGVyLmhvc3QuYWRtaW51c2VyfUB7cHJvdmlkZXIuaG9zdC5kb21haW4udXBwZXIoKX0iLAor KyAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAorKyAgICApCisgICAgIGFz c2VydCByLnJjID09IDAsICJyZWFsbSBsZWF2ZSBvcGVyYXRpb24gZmFpbGVkISIKKyAgICAgYXNz ZXJ0ICJTdWNjZXNzZnVsbHkgdW5lbnJvbGxlZCBtYWNoaW5lIGZyb20gcmVhbG0iIGluIHIuc3Rk ZXJyLCAicmVhbG0gZmFpbGVkIHRvIGxlYXZlIGRvbWFpbiEiCisgCitAQCAtNjEsMTAgKzgzLDE0 MiBAQCBkZWYgdGVzdF9yZWFsbV9sZWF2ZShjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6 CisgQHB5dGVzdC5tYXJrLnRvcG9sb2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlBRCkKKyBkZWYg dGVzdF9yZWFsbV9saXN0KGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogQW55KToKKyAgICAgIiIi CistICAgIDp0aXRsZTogcmVhbG0gbGlzdAorKyAgICA6dGl0bGU6IHJlYWxtIGxpc3QgYXZhaWxh YmxlIGRvbWFpbnMKKyAgICAgOnN0ZXBzOgorKyAgICAgICAgMS4gUnVuIHJlYWxtIGxpc3QgLS1h bGwKKyAgICAgOmV4cGVjdGVkcmVzdWx0czoKKysgICAgICAgIDEuIExpc3QgYWxsIGNvbmZpZ3Vy ZWQgYW5kIGRpc2NvdmVyZWQgcmVhbG1zCisgICAgICIiIgorICAgICByID0gY2xpZW50LnJlYWxt Lmxpc3QoYXJncz1bIi0tYWxsIl0pCisgICAgIGFzc2VydCByLnJjID09IDAsICJyZWFsbSBsaXN0 IG9wZXJhdGlvbiBmYWlsZWQhIgorICAgICBhc3NlcnQgcHJvdmlkZXIuaG9zdC5kb21haW4gaW4g ci5zdGRvdXQsICJyZWFsbSBmYWlsZWQgdG8gbGlzdCBkb21haW4iCisrCisrCisrQHB5dGVzdC5t YXJrLmltcG9ydGFuY2UoImNyaXRpY2FsIikKKytAcHl0ZXN0Lm1hcmsudG9wb2xvZ3koS25vd25U b3BvbG9neUdyb3VwLkFueUFEKQorK2RlZiB0ZXN0X3JlYWxtX2pvaW5fbm9fY29uZmlnX21vZGlm aWNhdGlvbihjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisrICAgICIiIgorKyAgICA6 dGl0bGU6IHJlYWxtIGpvaW4gd2l0aG91dCBtb2RpZnlpbmcgbG9jYWwgY29uZmlnCisrICAgIDpz dGVwczoKKysgICAgICAgIDEuIEpvaW4gYSBjbGllbnQgc3lzdGVtIHRvIHRoZSBkb21haW4gd2l0 aG91dCBtb2RpZnlpbmcgbG9jYWwgY29uZmlndXJhdGlvbiBmaWxlcy4KKysgICAgOmV4cGVjdGVk cmVzdWx0czoKKysgICAgICAgIDEuIEEgY2xpZW50IHN5c3RlbSBqb2luZWQgdG8gdGhlIGRvbWFp biBzdWNjZXNzZnVsbHksIHdpdGhvdXQgbW9kaWZ5aW5nCisrICAgICAgICAgICBsb2NhbCAvZXRj L3Nzc2Qvc3NzZC5jb25mLCAvZXRjL2tyYjUuY29uZi4KKysgICAgIiIiCisrICAgIGNvbmZpZ19w YXRoID0geyJzc3NkIjogIi9ldGMvc3NzZC9zc3NkLmNvbmYiLCAia3JiNSI6ICIvZXRjL2tyYjUu Y29uZiJ9CisrICAgIG9yaWdpbmFsX2NvbmZpZyA9IHsic3NzZCI6IE5vbmUsICJrcmI1IjogTm9u ZX0gICMgb3JpZ2luYWwgY29uZmlnIGNvbnRlbnQgc2V0IHRvIE5vbmUKKysKKysgICAgIyBDaGVj ayBvcmlnaW5hbCBjb25maWcgZmlsZSBzdGF0dXMKKysgICAgZm9yIGtleSBpbiBjb25maWdfcGF0 aDoKKysgICAgICAgIGlmIGNsaWVudC5mcy5leGlzdHMoY29uZmlnX3BhdGhba2V5XSk6CisrICAg ICAgICAgICAgb3JpZ2luYWxfY29uZmlnW2tleV0gPSBjbGllbnQuZnMucmVhZChjb25maWdfcGF0 aFtrZXldKQorKyAgICAgICAgZWxzZToKKysgICAgICAgICAgICBvcmlnaW5hbF9jb25maWdba2V5 XSA9IE5vbmUgICMgY29uZmlnIGZpbGUgZGlkbid0IGV4aXN0CisrCisrICAgIHIgPSBjbGllbnQu cmVhbG0uam9pbigKKysgICAgICAgIHByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAga3Ji PUZhbHNlLAorKyAgICAgICAgYXJncz1bIi0tZG8tbm90LXRvdWNoLWNvbmZpZyJdLAorKyAgICAg ICAgdXNlcj1mIntwcm92aWRlci5ob3N0LmFkbWludXNlcn1Ae3Byb3ZpZGVyLmhvc3QuZG9tYWlu LnVwcGVyKCl9IiwKKysgICAgICAgIHBhc3N3b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5wdywKKysg ICAgKQorKyAgICBhc3NlcnQgci5yYyA9PSAwLCAicmVhbG0gam9pbiBvcGVyYXRpb24gZmFpbGVk ISIKKysgICAgYXNzZXJ0ICJTdWNjZXNzZnVsbHkgZW5yb2xsZWQgbWFjaGluZSBpbiByZWFsbSIg aW4gci5zdGRlcnIsICJyZWFsbSBmYWlsZWQgdG8gam9pbiBjbGllbnQgdG8gdGhlIGRvbWFpbiEi CisrCisrICAgICMgVXNpbmcga2luaXQgLWsgdmFsaWRhdGVzIHRoYXQgdGhlIGtleXMgaW4gdGhl IGtleXRhYiBhY3R1YWxseSB3b3JrIGFnYWluc3QgdGhlIEtEQy4KKysgICAgcyA9IGNsaWVudC5o b3N0Lmhvc3RuYW1lLnNwbGl0KCcuJylbMF0udXBwZXIoKQorKyAgICBwID0gZiJ7c30kQHtwcm92 aWRlci5ob3N0LmRvbWFpbi51cHBlcigpfSIKKysgICAgayA9IGNsaWVudC5ob3N0LmNvbm4uZXhl YyhbImtpbml0IiwgIi1rIiwgcF0pCisrICAgIGFzc2VydCBrLnJjID09IDAsIGYia2luaXQgLWsg ZmFpbGVkLCBrZXl0YWIgbWF5IGJlIGludmFsaWQgb3IgbWlzc2luZzoge2suc3RkZXJyfSIKKysK KysgICAgIyBWZXJpZnkgL2V0Yy9zc3NkL3Nzc2QuY29uZiBhbmQgL2V0Yy9rcmI1LmNvbmYgYXJl IG5vdCBtb2RpZmllZAorKyAgICBmb3Iga2V5IGluIG9yaWdpbmFsX2NvbmZpZzoKKysgICAgICAg IGlmIG9yaWdpbmFsX2NvbmZpZ1trZXldIGlzIE5vbmU6CisrICAgICAgICAgICAgYXNzZXJ0IG5v dCBjbGllbnQuZnMuZXhpc3RzKGNvbmZpZ19wYXRoW2tleV0pLCBmIntjb25maWdfcGF0aFtrZXld fSB3YXMgY3JlYXRlZCB1bmV4cGVjdGVkbHkhIgorKyAgICAgICAgZWxzZToKKysgICAgICAgICAg ICBuZXdfY29uZiA9IGNsaWVudC5mcy5yZWFkKGNvbmZpZ19wYXRoW2tleV0pCisrICAgICAgICAg ICAgYXNzZXJ0IG5ld19jb25mID09IG9yaWdpbmFsX2NvbmZpZ1trZXldLCBmIntjb25maWdfcGF0 aFtrZXldfSB3YXMgbW9kaWZpZWQgdW5leHBlY3RlZGx5ISIKKysKKysKKytAcHl0ZXN0Lm1hcmsu aW1wb3J0YW5jZSgiY3JpdGljYWwiKQorK0BweXRlc3QubWFyay50b3BvbG9neShLbm93blRvcG9s b2d5R3JvdXAuQW55QUQpCisrZGVmIHRlc3RfcmVhbG1fbGVhdmVfcmVtb3ZlX2NvbXB1dGVyKGNs aWVudDogQ2xpZW50LCBwcm92aWRlcjogQW55KToKKysgICAgIiIiCisrICAgIDp0aXRsZTogUmVh bG0gbGVhdmUgcmVtb3ZlIGNvbXB1dGVyCisrICAgIDpzdGVwczoKKysgICAgICAgIDEuIExlYXZl IHRoZSByZWFsbSB3aXRoICctLXJlbW92ZScgb3B0aW9uCisrICAgIDpleHBlY3RlZHJlc3VsdHM6 CisrICAgICAgICAyLiBDbGllbnQgY29tcHV0ZXIgYWNjb3VudCByZW1vdmVkIGZyb20gRG9tYWlu IGNvbnRyb2xsZXIuCisrICAgICIiIgorKyAgICBjbGllbnQucmVhbG0uam9pbigKKysgICAgICAg IHByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAga3JiPVRydWUsCisrICAgICAgICB1c2Vy PWYie3Byb3ZpZGVyLmhvc3QuYWRtaW51c2VyfUB7cHJvdmlkZXIuaG9zdC5kb21haW4udXBwZXIo KX0iLAorKyAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAorKyAgICApCisr CisrICAgIHIgPSBjbGllbnQucmVhbG0ubGVhdmUoCisrICAgICAgICBwcm92aWRlci5ob3N0LmRv bWFpbiwKKysgICAgICAgIGtyYj1GYWxzZSwKKysgICAgICAgIGFyZ3M9WyItLXJlbW92ZSJdLAor KyAgICAgICAgdXNlcj1mIntwcm92aWRlci5ob3N0LmFkbWludXNlcn1Ae3Byb3ZpZGVyLmhvc3Qu ZG9tYWluLnVwcGVyKCl9IiwKKysgICAgICAgIHBhc3N3b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5w dywKKysgICAgKQorKworKyAgICBhc3NlcnQgci5yYyA9PSAwLCAicmVhbG0gbGVhdmUgb3BlcmF0 aW9uIGZhaWxlZCEiCisrICAgIGFzc2VydCAiU3VjY2Vzc2Z1bGx5IHVuZW5yb2xsZWQgbWFjaGlu ZSBmcm9tIHJlYWxtIiBpbiByLnN0ZGVyciwgInJlYWxtIGZhaWxlZCB0byBsZWF2ZSBkb21haW4h IgorKworKyAgICBzID0gY2xpZW50LmFkY2xpLnNob3dfY29tcHV0ZXIoCisrICAgICAgICBkb21h aW49cHJvdmlkZXIuaG9zdC5kb21haW4sCisrICAgICAgICBhcmdzPVsiLS1sb2dpbi11c2VyIiwg IkFkbWluaXN0cmF0b3IiLCAiLS12ZXJib3NlIl0sCisrICAgICAgICBsb2dpbl91c2VyPSJBZG1p bmlzdHJhdG9yIiwKKysgICAgICAgIGtyYj1GYWxzZSwKKysgICAgICAgIHBhc3N3b3JkPXByb3Zp ZGVyLmhvc3QuYWRtaW5wdywKKysgICAgKQorKworKyAgICBhc3NlcnQgcy5yYyAhPSAwLCAiY29t cHV0ZXIgYWNjb3VudCBleGlzdHMhIgorKworKworK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJj cml0aWNhbCIpCisrQHB5dGVzdC5tYXJrLnRvcG9sb2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlB RCkKKytkZWYgdGVzdF9yZWFsbV9yZW5ldyhjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEdlbmVy aWNBRFByb3ZpZGVyKToKKysgICAgIiIiCisrICAgIDp0aXRsZTogUmVhbG0gcmVuZXcgY29tbWFu ZAorKyAgICA6c2V0dXA6CisrICAgICAgICAxLiBKb2luIGNsaWVudCB0byBBRAorKyAgICAgICAg Mi4gR2V0IHRoZSBrdm5vIG51bWJlciBmcm9tIGhvc3RrZXl0YWIKKysgICAgOnN0ZXBzOgorKyAg ICAgICAgMS5SZW5ldyBob3N0LWtleXRhYiB3aXRoCisrICAgIDpleHBlY3RlZHJlc3VsdHM6Cisr ICAgICAgICAxLiBIb3N0LWtleXRhYiBpcyByZW5ld2VkCisrICAgICIiIgorKyAgICBjbGllbnQu cmVhbG0uam9pbigKKysgICAgICAgIHByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAga3Ji PUZhbHNlLAorKyAgICAgICAgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwKKysgICAgICAg IGFyZ3M9WyItLW1lbWJlcnNoaXAtc29mdHdhcmU9YWRjbGkiXSwKKysgICAgICAgIHBhc3N3b3Jk PXByb3ZpZGVyLmhvc3QuYWRtaW5wdywKKysgICAgKQorKworKyAgICBkZWYgZ2V0X2t2bm8oKSAt PiBpbnQ6CisrICAgICAgICAiIiJIZWxwZXIgdG8gZ2V0IHRoZSBjdXJyZW50IGt2bm8gZnJvbSB0 aGUga2V5dGFiLiIiIgorKyAgICAgICAga2xpc3RfY21kID0gY2xpZW50Lmhvc3QuY29ubi5leGVj KFsia2xpc3QiLCAiLWt0Il0pCisrICAgICAgICBhc3NlcnQga2xpc3RfY21kLnJjID09IDAsIGYi a2xpc3QgLWt0IGZhaWxlZDoge2tsaXN0X2NtZC5zdGRlcnJ9ISIKKysgICAgICAgICMgUGFyc2Ug a2xpc3Qgb3V0cHV0IHRvIGZpbmQgdGhlIGt2bm8KKysgICAgICAgIGt2bm8gPSBbXQorKyAgICAg ICAgZm9yIGxpbmUgaW4ga2xpc3RfY21kLnN0ZG91dF9saW5lczoKKysgICAgICAgICAgICBsaW5l ID0gbGluZS5zdHJpcCgpCisrICAgICAgICAgICAgaWYgbGluZS5zcGxpdCgpWzBdLmlzbnVtZXJp YygpOgorKyAgICAgICAgICAgICAgICBrdm5vLmFwcGVuZChpbnQobGluZS5zcGxpdCgpWzBdKSkK KysgICAgICAgIHJldHVybiBtYXgoa3ZubykKKysgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNv dWxkIG5vdCBwYXJzZSBrdm5vIGZyb20ga2xpc3Qgb3V0cHV0LiIpCisrCisrICAgIG9sZF9rdm5v ID0gZ2V0X2t2bm8oKQorKworKyAgICAjIFJlbmV3IGhvc3Qta2V5dGFiCisrICAgIHJlbmV3X2Nt ZCA9IGNsaWVudC5yZWFsbS5yZW5ldyhwcm92aWRlci5ob3N0LmRvbWFpbiwgYXJncz1bIi0tY29t cHV0ZXItcGFzc3dvcmQtbGlmZXRpbWU9MCJdKQorKyAgICBhc3NlcnQgcmVuZXdfY21kLnJjID09 IDAsIGYicmVhbG0gcmVuZXcgZmFpbGVkOiB7cmVuZXdfY21kLnN0ZGVycn0hIgorKworKyAgICBu ZXdfa3ZubyA9IGdldF9rdm5vKCkKKysKKysgICAgYXNzZXJ0IG5ld19rdm5vID4gb2xkX2t2bm8s ICJLZXl0YWIgd2FzIG5vdCByZW5ld2VkIChrdm5vIGRpZCBub3QgaW5jcmVhc2UpLiEiCistLSAK KzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwOC1kb2MtQmUtZXhwbGljaXQtYWJvdXQtZGVmYXVs dC1zZXR0aW5ncy1pbi1yZWFsbWQuY29uLnBhdGNoIGIvMDAwOC1kb2MtQmUtZXhwbGljaXQtYWJv dXQtZGVmYXVsdC1zZXR0aW5ncy1pbi1yZWFsbWQuY29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjgwMzRkMzEKLS0tIC9kZXYvbnVsbAorKysgYi8wMDA4LWRvYy1C ZS1leHBsaWNpdC1hYm91dC1kZWZhdWx0LXNldHRpbmdzLWluLXJlYWxtZC5jb24ucGF0Y2gKQEAg LTAsMCArMSw0NCBAQAorRnJvbSBlZmEyZTI4NDYwNjY4M2FjZWU2M2FmZWVlNmYzMTllMDdiODVi YmQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1BhdmVsPTIwRmls aXBlbnNrPUMzPUJEPz0gPHBmaWxpcGVuc2t5QHNhbWJhLm9yZz4KK0RhdGU6IFRodSwgMjkgSmFu IDIwMjYgMjA6NDA6MzkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwOC8yMF0gZG9jOiBCZSBleHBs aWNpdCBhYm91dCBkZWZhdWx0IHNldHRpbmdzIGluIHJlYWxtZC5jb25mCitNSU1FLVZlcnNpb246 IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1NpZ25lZC1vZmYtYnk6IFBhdmVsIEZpbGlwZW5za8O9 IDxwZmlsaXBlbnNreUBzYW1iYS5vcmc+CistLS0KKyBkb2MvbWFudWFsL3JlYWxtZC5jb25mLnht bCB8IDYgKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL2RvYy9tYW51YWwvcmVhbG1kLmNvbmYueG1sIGIvZG9jL21h bnVhbC9yZWFsbWQuY29uZi54bWwKK2luZGV4IGFkMTc2MzkuLjU0MDcyYzUgMTAwNjQ0CistLS0g YS9kb2MvbWFudWFsL3JlYWxtZC5jb25mLnhtbAorKysrIGIvZG9jL21hbnVhbC9yZWFsbWQuY29u Zi54bWwKK0BAIC0yMTAsMTIgKzIxMCwxMyBAQCBvcy12ZXJzaW9uID0gOS45LjkuOS45CisgCTxs aXN0aXRlbT4KKyAJCTxwYXJhPlNldCB0aGlzIHRvIDxwYXJhbWV0ZXI+bm88L3BhcmFtZXRlcj4g dG8gZGlzYWJsZSBhdXRvbWF0aWMKKyAJCWluc3RhbGxhdGlvbiBvZiBwYWNrYWdlcyB2aWEgcGFj a2FnZS1raXQuPC9wYXJhPgorKwkJPHBhcmE+VGhlIGRlZmF1bHQgc2V0dGluZyBmb3IgdGhpcyBp cyA8cGFyYW1ldGVyPnllczwvcGFyYW1ldGVyPi48L3BhcmE+CisgCisgCQk8aW5mb3JtYWxleGFt cGxlPgorIDxwcm9ncmFtbGlzdGluZyBsYW5ndWFnZT0ianMiPgorIFtzZXJ2aWNlXQorLWF1dG9t YXRpYy1pbnN0YWxsID0gbm8KKy0jIGF1dG9tYXRpYy1pbnN0YWxsID0geWVzCisrYXV0b21hdGlj LWluc3RhbGwgPSB5ZXMKKysjIGF1dG9tYXRpYy1pbnN0YWxsID0gbm8KKyA8L3Byb2dyYW1saXN0 aW5nPgorIAkJPC9pbmZvcm1hbGV4YW1wbGU+CisgCTwvbGlzdGl0ZW0+CitAQCAtMjI3LDYgKzIy OCw3IEBAIGF1dG9tYXRpYy1pbnN0YWxsID0gbm8KKyAJCTxwYXJhPlNldCB0aGlzIHRvIDxwYXJh bWV0ZXI+eWVzPC9wYXJhbWV0ZXI+IHRvIGNyZWF0ZSBhIFNhbWJhCisgCQljb25maWd1cmF0aW9u IGZpbGUgd2l0aCBpZC1tYXBwaW5nIG9wdGlvbnMgdXNlZCBieSBTYW1iYS0zLjUKKyAJCWFuZCBl YXJsaWVyIHZlcnNpb24uPC9wYXJhPgorKwkJPHBhcmE+VGhlIGRlZmF1bHQgc2V0dGluZyBmb3Ig dGhpcyBpcyA8cGFyYW1ldGVyPm5vPC9wYXJhbWV0ZXI+LjwvcGFyYT4KKyAKKyAJCTxpbmZvcm1h bGV4YW1wbGU+CisgPHByb2dyYW1saXN0aW5nIGxhbmd1YWdlPSJqcyI+CistLSAKKzIuNTQuMAor CgpkaWZmIC0tZ2l0IGEvMDAwOS1kb2MtZG9jdW1lbnQtZGVidWctb3B0aW9uLWluLXNlcnZpY2Ut c2VjdGlvbi1vZi1yZWFsLnBhdGNoIGIvMDAwOS1kb2MtZG9jdW1lbnQtZGVidWctb3B0aW9uLWlu LXNlcnZpY2Utc2VjdGlvbi1vZi1yZWFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjhkOWE4MzgKLS0tIC9kZXYvbnVsbAorKysgYi8wMDA5LWRvYy1kb2N1bWVudC1k ZWJ1Zy1vcHRpb24taW4tc2VydmljZS1zZWN0aW9uLW9mLXJlYWwucGF0Y2gKQEAgLTAsMCArMSw0 OCBAQAorRnJvbSBlNmM3OWY2MjQ4YmFmMzJhNTQ4NTI5NjBkNjY3NDY4YWY2MzkyNjhlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1BhdmVsPTIwRmlsaXBlbnNrPUMz PUJEPz0gPHBmaWxpcGVuc2t5QHNhbWJhLm9yZz4KK0RhdGU6IFRodSwgMjkgSmFuIDIwMjYgMjA6 MTA6MDUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwOS8yMF0gZG9jOiBkb2N1bWVudCBkZWJ1ZyBv cHRpb24gaW4gW3NlcnZpY2VdIHNlY3Rpb24gb2YKKyByZWFsbWQuY29uZgorTUlNRS1WZXJzaW9u OiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitUaGUgZGVidWcgc2V0dGluZyB3YXMgYWxyZWFkeSBw cmVzZW50IGluIHRoZSBkZWZhdWx0cyBmaWxlCityZWFsbWQtZGVmYXVsdHMuY29uZiwgYnV0IHdh cyBub3QgZG9jdW1lbnRlZCBpbiB0aGUgbWFudWFsIHBhZ2UuCisKK1NpZ25lZC1vZmYtYnk6IFBh dmVsIEZpbGlwZW5za8O9IDxwZmlsaXBlbnNreUBzYW1iYS5vcmc+CistLS0KKyBkb2MvbWFudWFs L3JlYWxtZC5jb25mLnhtbCB8IDE3ICsrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQs IDE3IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RvYy9tYW51YWwvcmVhbG1kLmNvbmYu eG1sIGIvZG9jL21hbnVhbC9yZWFsbWQuY29uZi54bWwKK2luZGV4IDU0MDcyYzUuLjZmMmQ0MzMg MTAwNjQ0CistLS0gYS9kb2MvbWFudWFsL3JlYWxtZC5jb25mLnhtbAorKysrIGIvZG9jL21hbnVh bC9yZWFsbWQuY29uZi54bWwKK0BAIC0yMDUsNiArMjA1LDIzIEBAIG9zLXZlcnNpb24gPSA5Ljku OS45LjkKKyAKKyAJPHZhcmlhYmxlbGlzdD4KKyAKKysJPHZhcmxpc3RlbnRyeT4KKysJPHRlcm0+ PG9wdGlvbj5kZWJ1Zzwvb3B0aW9uPjwvdGVybT4KKysJPGxpc3RpdGVtPgorKwkJPHBhcmE+U2V0 IHRoaXMgdG8gPHBhcmFtZXRlcj55ZXM8L3BhcmFtZXRlcj4gdG8gZW5hYmxlIHZlcmJvc2UKKysJ CWRlYnVnIGxvZ2dpbmcgaW4gcmVhbG1kLjwvcGFyYT4KKysJCTxwYXJhPlRoZSBkZWZhdWx0IHNl dHRpbmcgZm9yIHRoaXMgaXMgPHBhcmFtZXRlcj5ubzwvcGFyYW1ldGVyPi48L3BhcmE+CisrCisr CQk8aW5mb3JtYWxleGFtcGxlPgorKzxwcm9ncmFtbGlzdGluZyBsYW5ndWFnZT0ianMiPgorK1tz ZXJ2aWNlXQorK2RlYnVnID0gbm8KKysjIGRlYnVnID0geWVzCisrPC9wcm9ncmFtbGlzdGluZz4K KysJCTwvaW5mb3JtYWxleGFtcGxlPgorKwk8L2xpc3RpdGVtPgorKwk8L3Zhcmxpc3RlbnRyeT4K KysKKyAJPHZhcmxpc3RlbnRyeT4KKyAJPHRlcm0+PG9wdGlvbj5hdXRvbWF0aWMtaW5zdGFsbDwv b3B0aW9uPjwvdGVybT4KKyAJPGxpc3RpdGVtPgorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBh LzAwMTAtc2FtYmEtYWRkLWRlYnVnLWxldmVsLTEwLXRvLW5ldC1jb21tYW5kcy13aGVuLXJlYWxt ZC5wYXRjaCBiLzAwMTAtc2FtYmEtYWRkLWRlYnVnLWxldmVsLTEwLXRvLW5ldC1jb21tYW5kcy13 aGVuLXJlYWxtZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGEy NDEyCi0tLSAvZGV2L251bGwKKysrIGIvMDAxMC1zYW1iYS1hZGQtZGVidWctbGV2ZWwtMTAtdG8t bmV0LWNvbW1hbmRzLXdoZW4tcmVhbG1kLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gZTFl YjA4ODMyZmE1OGZjZWE1YTM3NTIyNzc3NzhkM2Q0MGMwOGE0MiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206ID0/VVRGLTg/cT9QYXZlbD0yMEZpbGlwZW5zaz1DMz1CRD89IDxwZmlsaXBl bnNreUBzYW1iYS5vcmc+CitEYXRlOiBUaHUsIDI5IEphbiAyMDI2IDE0OjQ5OjUxICswMTAwCitT dWJqZWN0OiBbUEFUQ0ggMTAvMjBdIHNhbWJhOiBhZGQgZGVidWcgbGV2ZWwgMTAgdG8gbmV0IGNv bW1hbmRzIHdoZW4gcmVhbG1kCisgcnVucyBpbiBkZWJ1ZyBtb2RlCitNSU1FLVZlcnNpb246IDEu MAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CisKK0VuYWJsZSB2ZXJib3NlIGRlYnVnZ2luZyBvdXRwdXQgZm9y IGFsbCBuZXQgYWRzIGNvbW1hbmRzIChqb2luLCBsZWF2ZSwKK2tleXRhYikgYnkgYWRkaW5nIHRo ZSAtZCAxMCBmbGFnIHdoZW4gdGhlIHJlYWxtZCBkYWVtb24gaXMgc3RhcnRlZCB3aXRoCit0aGUg LWQgZmxhZyBvciBpZiAnZGVidWcnIG9wdGlvbiBpcyBzZXQgdG8gJ3llcycgaW4gW3NlcnZpY2Vd IHNlY3Rpb24gb2YKK3JlYWxtZC5jb25mCisKK1NpZ25lZC1vZmYtYnk6IFBhdmVsIEZpbGlwZW5z a8O9IDxwZmlsaXBlbnNreUBzYW1iYS5vcmc+CistLS0KKyBzZXJ2aWNlL3JlYWxtLXNhbWJhLWVu cm9sbC5jIHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2Rp ZmYgLS1naXQgYS9zZXJ2aWNlL3JlYWxtLXNhbWJhLWVucm9sbC5jIGIvc2VydmljZS9yZWFsbS1z YW1iYS1lbnJvbGwuYworaW5kZXggOWQ3NzZmYS4uZWNmMjc5MiAxMDA2NDQKKy0tLSBhL3NlcnZp Y2UvcmVhbG0tc2FtYmEtZW5yb2xsLmMKKysrKyBiL3NlcnZpY2UvcmVhbG0tc2FtYmEtZW5yb2xs LmMKK0BAIC0yNzcsNiArMjc3LDEyIEBAIGJlZ2luX25ldF9wcm9jZXNzIChKb2luQ2xvc3VyZSAq am9pbiwKKyAJCWdfcHRyX2FycmF5X2FkZCAoYXJncywgam9pbi0+ZGlzY28tPmV4cGxpY2l0X3Nl cnZlcik7CisgCX0KKyAKKysJLyogQWRkIGRlYnVnIGxldmVsIHdoZW4gZGFlbW9uIGlzIHJ1bm5p bmcgaW4gZGVidWcgbW9kZSAqLworKwlpZiAocmVhbG1fZGFlbW9uX2hhc19kZWJ1Z19mbGFnICgp KSB7CisrCQlnX3B0cl9hcnJheV9hZGQgKGFyZ3MsICItZCIpOworKwkJZ19wdHJfYXJyYXlfYWRk IChhcmdzLCAiMTAiKTsKKysJfQorKworIAl2YV9zdGFydCAodmEsIHVzZXJfZGF0YSk7CisgCWRv IHsKKyAJCWFyZyA9IHZhX2FyZyAodmEsIGdjaGFyICopOworLS0gCisyLjU0LjAKKwoKZGlmZiAt LWdpdCBhLzAwMTEtV2hlbi1ydW5uaW5nLWluLWRlYnVnLW1ha2Utd2FybmluZ3Mtbm90LWZhdGFs LnBhdGNoIGIvMDAxMS1XaGVuLXJ1bm5pbmctaW4tZGVidWctbWFrZS13YXJuaW5ncy1ub3QtZmF0 YWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY4YWQxYQotLS0g L2Rldi9udWxsCisrKyBiLzAwMTEtV2hlbi1ydW5uaW5nLWluLWRlYnVnLW1ha2Utd2FybmluZ3Mt bm90LWZhdGFsLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20gOGM2NGYxZjljNDZlNGJlMjc4 OTQwMmQ4ZmUwYTYzMWQ4YzQyZTIxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN1 bWl0IEJvc2UgPHNib3NlQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDMgRmViIDIwMjYgMTU6MTg6 MzMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8yMF0gV2hlbiBydW5uaW5nIGluIC0tZGVidWcg bWFrZSB3YXJuaW5ncyBub3QgZmF0YWwKKworLS0tCisgc2VydmljZS9yZWFsbS1kYWVtb24uYyB8 IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKwor ZGlmZiAtLWdpdCBhL3NlcnZpY2UvcmVhbG0tZGFlbW9uLmMgYi9zZXJ2aWNlL3JlYWxtLWRhZW1v bi5jCitpbmRleCA4NTM1MGE3Li4wY2NiNzMzIDEwMDY0NAorLS0tIGEvc2VydmljZS9yZWFsbS1k YWVtb24uYworKysrIGIvc2VydmljZS9yZWFsbS1kYWVtb24uYworQEAgLTUzMyw3ICs1MzMsNyBA QCBtYWluIChpbnQgYXJnYywKKyAKKyAJaWYgKHNlcnZpY2VfZGVidWcpIHsKKyAJCWdfbG9nX3Nl dF9oYW5kbGVyIChHX0xPR19ET01BSU4sIEdfTE9HX0xFVkVMX0RFQlVHLCBvbl9yZWFsbV9sb2df ZGVidWcsIE5VTEwpOworLQkJZ19sb2dfc2V0X2Fsd2F5c19mYXRhbCAoR19MT0dfTEVWRUxfRVJS T1IgfCBHX0xPR19MRVZFTF9DUklUSUNBTCB8IEdfTE9HX0xFVkVMX1dBUk5JTkcpOworKwkJZ19s b2dfc2V0X2Fsd2F5c19mYXRhbCAoR19MT0dfTEVWRUxfRVJST1IgfCBHX0xPR19MRVZFTF9DUklU SUNBTCk7CisgCX0KKyAKKyAJcmVhbG1fZXJyb3IgPSByZWFsbV9lcnJvcl9xdWFyayAoKTsKKy0t IAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDEyLXNlcnZpY2Utb25seS11c2Utc2luZ2xlLXZh bHVlLXBhc3N3b3JkLXNlcnZlci1vcHRpb24ucGF0Y2ggYi8wMDEyLXNlcnZpY2Utb25seS11c2Ut c2luZ2xlLXZhbHVlLXBhc3N3b3JkLXNlcnZlci1vcHRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uZDI1NGI0NwotLS0gL2Rldi9udWxsCisrKyBiLzAwMTItc2Vy dmljZS1vbmx5LXVzZS1zaW5nbGUtdmFsdWUtcGFzc3dvcmQtc2VydmVyLW9wdGlvbi5wYXRjaApA QCAtMCwwICsxLDM0IEBACitGcm9tIGFjN2Q0YWIzOGU4ZDc2NDdlOWVmYjI1ZDhlOGQ4MjFhOGY4 N2E1MTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdW1pdCBCb3NlIDxzYm9zZUBy ZWRoYXQuY29tPgorRGF0ZTogVHVlLCAzIEZlYiAyMDI2IDE2OjI3OjI3ICswMTAwCitTdWJqZWN0 OiBbUEFUQ0ggMTIvMjBdIHNlcnZpY2U6IG9ubHkgdXNlIHNpbmdsZSB2YWx1ZSAncGFzc3dvcmQg c2VydmVyJyBvcHRpb24KKworU2FtYmEncyAncGFzc3dvcmQgc2VydmVyJyBvcHRpb24gY2FuIGNv bnRhaW4gbXVsdGlwbGUgdmFsdWVzIGFuZCBldmVuIGEKK3dpbGRjYXJkIGNoYXJhY3RlciB3aGlj aCBhcmUgbm90IHN1aXRhYmxlIGFzIGEgdmFsdWUgZm9yIHRoZSAnLVMnIG9wdGlvbgorb2YgdGhl ICduZXQnIGNvbW1hbmQuIFRoZSAncGFzc3dvcmQgc2VydmVyIHZhbHVlIGlzIG9ubHkgdXNlZCBp ZiBpdCBkb2VzCitub3QgY29udGFpbiAnKicgb3IgJywnLgorLS0tCisgc2VydmljZS9yZWFsbS1z YW1iYS5jIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitk aWZmIC0tZ2l0IGEvc2VydmljZS9yZWFsbS1zYW1iYS5jIGIvc2VydmljZS9yZWFsbS1zYW1iYS5j CitpbmRleCBiYzk3NmYxLi41N2UwM2Y2IDEwMDY0NAorLS0tIGEvc2VydmljZS9yZWFsbS1zYW1i YS5jCisrKysgYi9zZXJ2aWNlL3JlYWxtLXNhbWJhLmMKK0BAIC03MjgsNiArNzI4LDEzIEBAIHJl YWxtX3NhbWJhX2Rpc2NvdmVyX215c2VsZiAoUmVhbG1LZXJiZXJvcyAqcmVhbG0sCisgCWRpc2Nv LT5leHBsaWNpdF9uZXRiaW9zID0gdmFsdWU7CisgCisgCXZhbHVlID0gcmVhbG1faW5pX2NvbmZp Z19nZXQgKHNlbGYtPmNvbmZpZywgUkVBTE1fU0FNQkFfQ09ORklHX0dMT0JBTCwgInBhc3N3b3Jk IHNlcnZlciIpOworKwkvKiBPbmx5IHNldCBleHBsaWNpdF9zZXJ2ZXIgdG8gdGhlIHZhbHVlIG9m ICdwYXNzd29yZCBzZXJ2ZXInIGlmIGl0CisrCSAqIG5laXRoZXIgY29udGFpbnMgdGhlIHdpbGRj YXJkIGNoYXJhY3RlciAnKicgbm9yIGEgbGlzdCBzZXBhcmF0b3IKKysJICogY2hhcmFjdGVyIHVz ZWQgYnkgU2FtYmEuICovCisrCWlmICh2YWx1ZSAhPSBOVUxMICYmIHN0cnBicmsgKHZhbHVlLCAi KiBcdCw7IikgIT0gTlVMTCkgeworKwkJZ19mcmVlICh2YWx1ZSk7CisrCQl2YWx1ZSA9IE5VTEw7 CisrCX0KKyAJZ19mcmVlIChkaXNjby0+ZXhwbGljaXRfc2VydmVyKTsKKyAJZGlzY28tPmV4cGxp Y2l0X3NlcnZlciA9IHZhbHVlOworIH0KKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDEz LVJlZnJlc2gtbGljZW5zZS10ZXh0LnBhdGNoIGIvMDAxMy1SZWZyZXNoLWxpY2Vuc2UtdGV4dC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTUyN2Q5Ci0tLSAvZGV2 L251bGwKKysrIGIvMDAxMy1SZWZyZXNoLWxpY2Vuc2UtdGV4dC5wYXRjaApAQCAtMCwwICsxLDUx IEBACitGcm9tIDBiNTc3NTM0YjYxYjBiYjY2NDMwZTBmYzQ2NTE1OTdmMzM1OTI5OTQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgor RGF0ZTogV2VkLCA0IEZlYiAyMDI2IDE0OjU2OjQ0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMTMv MjBdIFJlZnJlc2ggbGljZW5zZSB0ZXh0CisKK1VzZSB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhl IGxpY2Vuc2UgdGV4dCBmcm9tCitodHRwczovL2Z0cC5nbnUub3JnL2dudS9MaWNlbnNlcy9sZ3Bs LTIuMS50eHQuCisKK1BsZWFzZSBub3RlLCB0aGUgbGljZW5zZSBpcyBub3QgY2hhbmdlZCBvbmx5 IHRoZSB0ZXh0IGlzIHJlZnJlc2hlZC4KKy0tLQorIENPUFlJTkcgfCAxMSArKysrKy0tLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9DT1BZSU5HIGIvQ09QWUlORworaW5kZXggZjE2NmNjNS4uZjY2ODNlNyAxMDA2NDQK Ky0tLSBhL0NPUFlJTkcKKysrKyBiL0NPUFlJTkcKK0BAIC0yLDcgKzIsNyBAQAorICAgICAgICAg ICAgICAgICAgICAgICAgVmVyc2lvbiAyLjEsIEZlYnJ1YXJ5IDE5OTkKKyAKKyAgQ29weXJpZ2h0 IChDKSAxOTkxLCAxOTk5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSA1MSBGcmFu a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKysg PGh0dHBzOi8vZnNmLm9yZy8+CisgIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBk aXN0cmlidXRlIHZlcmJhdGltIGNvcGllcworICBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1 dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKyAKK0BAIC00ODQsOCArNDg0LDcgQEAgY29u dmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUg YXQgbGVhc3QgdGhlCisgICAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisgCisgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKy0gICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMg bGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLSAgICBGb3VuZGF0 aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAw MjExMC0xMzAxICBVU0EKKysgICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg bm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAKKyBBbHNvIGFkZCBp bmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIg bWFpbC4KKyAKK0BAIC00OTYsNyArNDk1LDcgQEAgbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBs ZTsgYWx0ZXIgdGhlIG5hbWVzOgorICAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMg YWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUKKyAgIGxpYnJhcnkgYEZyb2InIChhIGxpYnJh cnkgZm9yIHR3ZWFraW5nIGtub2JzKSB3cml0dGVuIGJ5IEphbWVzIFJhbmRvbSBIYWNrZXIuCisg CistICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5OTAKKy0gIFR5IENvb24sIFBy ZXNpZGVudCBvZiBWaWNlCisrICA8c2lnbmF0dXJlIG9mIE1vZSBHaG91bD4sIDEgQXByaWwgMTk5 MAorKyAgTW9lIEdob3VsLCBQcmVzaWRlbnQgb2YgVmljZQorIAorLVRoYXQncyBhbGwgdGhlcmUg aXMgdG8gaXQhCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKytUaGF0J3MgYWxsIHRoZXJl IGlzIHRvIGl0IQorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMTQtVGVzdGNhc2VzLXJl YWxtLWpvaW4tbGVhdmUtdXNlci1sb2dpbi5wYXRjaCBiLzAwMTQtVGVzdGNhc2VzLXJlYWxtLWpv aW4tbGVhdmUtdXNlci1sb2dpbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5jNGYzMWI1Ci0tLSAvZGV2L251bGwKKysrIGIvMDAxNC1UZXN0Y2FzZXMtcmVhbG0tam9p bi1sZWF2ZS11c2VyLWxvZ2luLnBhdGNoCkBAIC0wLDAgKzEsMjgwIEBACitGcm9tIGQyNDllZWI4 N2VhM2YxY2UxYzBmMTQwYzMxY2MzYmZkZTcyZTEwZWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBTaHJpZGhhciBHYWRla2FyIDxzaHJpZGhhci5hbHdheXNAZ21haWwuY29tPgorRGF0 ZTogV2VkLCAxMSBGZWIgMjAyNiAyMzozMToyNiArMDUzMAorU3ViamVjdDogW1BBVENIIDE0LzIw XSBUZXN0Y2FzZXM6IHJlYWxtIGpvaW4gbGVhdmUsIHVzZXIgbG9naW4KKworVGVzdGNhc2VzIGZv ciByZWFsbSBqb2luIGFuZCBsZWF2ZSB3aXRoCitzdXBwb3J0ZWQgY29tYmludGF0aW9ucyBvZiAt LWNsaWVudC1zb2Z0d2FyZQorYW5kIC0tbWVtYmVyLXNvZnR3YXJlCit1c2VyIGxvZ2luIGFsbG93 LCBkZW55CistLS0KKyB0ZXN0cy90ZXN0X3JlYWxtZC5weSAgICAgICAgICB8IDE2OSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystCisgdGVzdHMvdG9wb2xvZ3lfY29udHJvbGxlcnMu cHkgfCAgNDggKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMjA3IGluc2VydGlvbnMoKyks IDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9yZWFsbWQucHkgYi90 ZXN0cy90ZXN0X3JlYWxtZC5weQoraW5kZXggYTUxM2ZhNy4uNmUyNWNiOSAxMDA2NDQKKy0tLSBh L3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CisrKysgYi90ZXN0cy90ZXN0X3JlYWxtZC5weQorQEAgLTEy Niw3ICsxMjYsNyBAQCBkZWYgdGVzdF9yZWFsbV9qb2luX25vX2NvbmZpZ19tb2RpZmljYXRpb24o Y2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBBbnkpOgorICAgICBhc3NlcnQgIlN1Y2Nlc3NmdWxs eSBlbnJvbGxlZCBtYWNoaW5lIGluIHJlYWxtIiBpbiByLnN0ZGVyciwgInJlYWxtIGZhaWxlZCB0 byBqb2luIGNsaWVudCB0byB0aGUgZG9tYWluISIKKyAKKyAgICAgIyBVc2luZyBraW5pdCAtayB2 YWxpZGF0ZXMgdGhhdCB0aGUga2V5cyBpbiB0aGUga2V5dGFiIGFjdHVhbGx5IHdvcmsgYWdhaW5z dCB0aGUgS0RDLgorLSAgICBzID0gY2xpZW50Lmhvc3QuaG9zdG5hbWUuc3BsaXQoJy4nKVswXS51 cHBlcigpCisrICAgIHMgPSBjbGllbnQuaG9zdC5ob3N0bmFtZS5zcGxpdCgiLiIpWzBdLnVwcGVy KCkKKyAgICAgcCA9IGYie3N9JEB7cHJvdmlkZXIuaG9zdC5kb21haW4udXBwZXIoKX0iCisgICAg IGsgPSBjbGllbnQuaG9zdC5jb25uLmV4ZWMoWyJraW5pdCIsICItayIsIHBdKQorICAgICBhc3Nl cnQgay5yYyA9PSAwLCBmImtpbml0IC1rIGZhaWxlZCwga2V5dGFiIG1heSBiZSBpbnZhbGlkIG9y IG1pc3Npbmc6IHtrLnN0ZGVycn0iCitAQCAtMjIyLDMgKzIyMiwxNzAgQEAgZGVmIHRlc3RfcmVh bG1fcmVuZXcoY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBHZW5lcmljQURQcm92aWRlcik6Cisg ICAgIG5ld19rdm5vID0gZ2V0X2t2bm8oKQorIAorICAgICBhc3NlcnQgbmV3X2t2bm8gPiBvbGRf a3ZubywgIktleXRhYiB3YXMgbm90IHJlbmV3ZWQgKGt2bm8gZGlkIG5vdCBpbmNyZWFzZSkuISIK KysKKysKKytAcHl0ZXN0Lm1hcmsuaW1wb3J0YW5jZSgiY3JpdGljYWwiKQorK0BweXRlc3QubWFy ay50b3BvbG9neShLbm93blRvcG9sb2d5R3JvdXAuQW55QUQpCisrQHB5dGVzdC5tYXJrLnBhcmFt ZXRyaXplKAorKyAgICAiY2xpZW50X3NvZnR3YXJlLCBtZW1iZXJzaGlwX3NvZnR3YXJlIiwKKysg ICAgWworKyAgICAgICAgKCJzc3NkIiwgImFkY2xpIiksICAjIFN0YW5kYXJkIG1vZGVybiBMaW51 eCBpbnRlZ3JhdGlvbgorKyAgICAgICAgKCJzc3NkIiwgInNhbWJhIiksICAjIFNTU0QgdXRpbGl6 aW5nIFNhbWJhIHRvb2xzIGZvciBqb2luCisrICAgICAgICAoIndpbmJpbmQiLCAic2FtYmEiKSwg ICMgQ2xhc3NpYyBTYW1iYS9XaW5iaW5kIGludGVncmF0aW9uCisrICAgIF0sCisrKQorK2RlZiB0 ZXN0X3JlYWxtX2pvaW5fbGVhdmVfY29tYmluYXRpb25zKAorKyAgICBjbGllbnQ6IENsaWVudCwg cHJvdmlkZXI6IEdlbmVyaWNBRFByb3ZpZGVyLCBjbGllbnRfc29mdHdhcmU6IHN0ciwgbWVtYmVy c2hpcF9zb2Z0d2FyZTogc3RyCisrKToKKysgICAgIiIiCisrICAgIDp0aXRsZTogVmVyaWZ5IFJl YWxtIEpvaW4vTGVhdmUgd2l0aCBzcGVjaWZpYyBzb2Z0d2FyZSBjb21iaW5hdGlvbnMuCisrICAg IDpkZXNjcmlwdGlvbjogVGVzdCBqb2luaW5nIGFuZCBsZWF2aW5nIHRoZSBkb21haW4gdXNpbmcg c3VwcG9ydGVkIGNvbWJpbmF0aW9ucworKyAgICAgICAgICAgICAgICAgIG9mIGNsaWVudCBzb2Z0 d2FyZSAoU1NTRC9XaW5iaW5kKSBhbmQgbWVtYmVyc2hpcCBzb2Z0d2FyZSAoYWRjbGkvU2FtYmEp LgorKyAgICA6aWQ6IHJlYWxtLWpvaW4tbGVhdmUtY29tYm9zCisrICAgIDpzdGVwczoKKysgICAg ICAgIDEuIEluc3RhbGwgcmVxdWlyZWQgcGFja2FnZXMgZm9yIHRoZSBzcGVjaWZpYyBjb21iaW5h dGlvbi4KKysgICAgICAgIDIuIEpvaW4gdGhlIGRvbWFpbiBleHBsaWNpdGx5IHNldHRpbmcgY2xp ZW50IGFuZCBtZW1iZXJzaGlwIHNvZnR3YXJlLgorKyAgICAgICAgMy4gVmVyaWZ5IHRoZSBqb2lu IHdhcyBzdWNjZXNzZnVsLgorKyAgICAgICAgNC4gTGVhdmUgdGhlIGRvbWFpbi4KKysgICAgICAg IDUuIFZlcmlmeSB0aGUgbGVhdmUgd2FzIHN1Y2Nlc3NmdWwgYW5kIGNvbmZpZyBjbGVhbmVkIHVw IChmb3IgU1NTRCkuCisrICAgICIiIgorKworKyAgICBjbGllbnQuaG9zdC5jb25uLmV4ZWMoWyJk bmYiLCAiaW5zdGFsbCIsICIteSIsICJzYW1iYS13aW5iaW5kLWNsaWVudHMiXSwgcmFpc2Vfb25f ZXJyb3I9RmFsc2UpCisrICAgIGNsaWVudC5mcy50b3VjaCgiL2V0Yy9rcmI1LmNvbmYiKQorKwor KyAgICBqb2luX2FyZ3MgPSBbZiItLWNsaWVudC1zb2Z0d2FyZT17Y2xpZW50X3NvZnR3YXJlfSIs IGYiLS1tZW1iZXJzaGlwLXNvZnR3YXJlPXttZW1iZXJzaGlwX3NvZnR3YXJlfSIsICItLXZlcmJv c2UiXQorKworKyAgICBqb2luX2NtZCA9IGNsaWVudC5yZWFsbS5qb2luKAorKyAgICAgICAgZG9t YWluPXByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAga3JiPUZhbHNlLAorKyAgICAgICAg dXNlcj1mIntwcm92aWRlci5ob3N0LmFkbWludXNlcn1Ae3Byb3ZpZGVyLmhvc3QuZG9tYWluLnVw cGVyKCl9IiwKKysgICAgICAgIHBhc3N3b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5wdywKKysgICAg ICAgIGFyZ3M9am9pbl9hcmdzLAorKyAgICApCisrCisrICAgIGFzc2VydCBqb2luX2NtZC5yYyA9 PSAwLCAoCisrICAgICAgICBmIlJlYWxtIGpvaW4gZmFpbGVkIGZvciB7Y2xpZW50X3NvZnR3YXJl fSt7bWVtYmVyc2hpcF9zb2Z0d2FyZX0hXG4iIGYiU3RkZXJyOiB7am9pbl9jbWQuc3RkZXJyfSIK KysgICAgKQorKworKyAgICBsZWF2ZV9jbWQgPSBjbGllbnQucmVhbG0ubGVhdmUoCisrICAgICAg ICBkb21haW49cHJvdmlkZXIuaG9zdC5kb21haW4sCisrICAgICAgICBrcmI9RmFsc2UsCisrICAg ICAgICB1c2VyPWYie3Byb3ZpZGVyLmhvc3QuYWRtaW51c2VyfUB7cHJvdmlkZXIuaG9zdC5kb21h aW4udXBwZXIoKX0iLAorKyAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAor KyAgICAgICAgYXJncz1bIi0tdmVyYm9zZSIsICItLXJlbW92ZSJdLAorKyAgICApCisrCisrICAg IGFzc2VydCBsZWF2ZV9jbWQucmMgPT0gMCwgKAorKyAgICAgICAgZiJSZWFsbSBsZWF2ZSBmYWls ZWQgZm9yIHtjbGllbnRfc29mdHdhcmV9K3ttZW1iZXJzaGlwX3NvZnR3YXJlfSFcbiIgZiJTdGRl cnI6IHtsZWF2ZV9jbWQuc3RkZXJyfSIKKysgICAgKQorKworKyAgICBpZiBjbGllbnRfc29mdHdh cmUgPT0gInNzc2QiOgorKyAgICAgICAgc3NzZF9jb25mX3BhdGggPSAiL2V0Yy9zc3NkL3Nzc2Qu Y29uZiIKKysKKysgICAgICAgIGlmIGNsaWVudC5ob3N0LmZzLmV4aXN0cyhzc3NkX2NvbmZfcGF0 aCk6CisrICAgICAgICAgICAgY29udGVudCA9IGNsaWVudC5ob3N0LmZzLnJlYWQoc3NzZF9jb25m X3BhdGgpCisrCisrICAgICAgICAgICAgYXNzZXJ0IHByb3ZpZGVyLmhvc3QuZG9tYWluIG5vdCBp biBjb250ZW50LCAoCisrICAgICAgICAgICAgICAgIGYiQ2xlYW51cCBGYWlsZWQ6IERvbWFpbiAn e3Byb3ZpZGVyLmhvc3QuZG9tYWlufScgY29uZmlndXJhdGlvbiAiCisrICAgICAgICAgICAgICAg IGYic3RpbGwgZm91bmQgaW4ge3Nzc2RfY29uZl9wYXRofSBhZnRlciBsZWF2ZS4iCisrICAgICAg ICAgICAgKQorKworKworK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJoaWdoIikKKytAcHl0ZXN0 Lm1hcmsudG9wb2xvZ3koS25vd25Ub3BvbG9neUdyb3VwLkFueUFEKQorK2RlZiB0ZXN0X3JlYWxt X3Blcm1pdF91c2VyX2FjY2Vzc19jb250cm9sKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogR2Vu ZXJpY0FEUHJvdmlkZXIpOgorKyAgICAiIiIKKysgICAgOnRpdGxlOiBBbGxvdyBhbmQgZGVueSBh IHVzZXIgdG8gbG9jYWxseSBsb2cgaW4KKysgICAgOnN0ZXBzOgorKyAgICAgICAgMS4gSm9pbiB0 aGUgZG9tYWluLgorKyAgICAgICAgMi4gQ3JlYXRlIHR3byB1c2Vycy4KKysgICAgOnN0ZXBzOgor KyAgICAgICAgMS4gUGVybWl0IHVzZXIxIHRvIGxvZyBpbiBsb2NhbGx5LgorKyAgICAgICAgMi4g c3NzZC5jb25mIGNvbnRhaW5zICdhY2Nlc3NfcHJvdmlkZXIgPSBzaW1wbGUnIGFuZCBhbGxvd2Vk IHVzZXIKKysgICAgICAgIDMuIFBlcm1pdHRlZCB1c2VyIGlzIGFibGUgdG8gbG9nIGluIGxvY2Fs bHkKKysgICAgICAgIDQuIE5vbi1wZXJtaXR0ZWQgdXNlciBpcyBub3QgYWJsZSB0byBsb2cgaW4g bG9jYWxseQorKyAgICAgICAgNS4gUGVybWl0IHVzZXIyIGZyb20gbG9nIGluIGxvY2FsbHkKKysg ICAgICAgIDYuIFdpdGhkcmF3IHVzZXIxIGZyb20gbG9nIGluCisrICAgIDpleHBlY3RlZHJlc3Vs dHM6CisrICAgICAgICAxLiBQZXJtaXQgY29tbWFuZCBzdWNjZWVkcy4KKysgICAgICAgIDIuIFNT U0QgY29uZmlndXJhdGlvbiBjb250YWlucyAiYWNjZXNzX3Byb3ZpZGVyIiBhbmQgImFsbG93ZWQg dXNlciIKKysgICAgICAgIDMuIFBlcm1pdHRlZCB1c2VyIGlzIGFsbG93ZWQgdG8gbG9nIGluIGxv Y2FsIHN5c3RlbS4KKysgICAgICAgIDQuIE5vbi1wZXJtaXR0ZWQgdXNlciBpcyBkZW5pZWQgdG8g bG9nIGluIGxvY2FsIHN5c3RlbS4KKysgICAgICAgIDUuIFVzZXIyIGFibGUgdG8gbG9nIGluCisr ICAgICAgICA2LiBVc2VyMSBub3QgYWJsZSB0byBsb2cgaW4KKysgICAgIiIiCisrICAgIHUgPSAi dGVzdHVzZXIiCisrICAgIHUyID0gInRlc3R1c2VyMiIKKysgICAgcHJvdmlkZXIudXNlcih1KS5h ZGQoKQorKyAgICBwcm92aWRlci51c2VyKHUyKS5hZGQoKQorKworKyAgICBjbGllbnQucmVhbG0u am9pbigKKysgICAgICAgIGRvbWFpbj1wcm92aWRlci5ob3N0LmRvbWFpbiwgdXNlcj1wcm92aWRl ci5ob3N0LmFkbWludXNlciwgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LCBrcmI9RmFs c2UKKysgICAgKQorKworKyAgICBjbGllbnQuc3NzZC5kb21haW5bInVzZV9mdWxseV9xdWFsaWZp ZWRfbmFtZXMiXSA9ICJGYWxzZSIKKysgICAgY2xpZW50LnJlYWxtLnBlcm1pdChhcmdzPVtmInt1 fUB7cHJvdmlkZXIuaG9zdC5kb21haW59IiwgIi0tdmVyYm9zZSJdKQorKworKyAgICBzc3NkX2Nv bmZfcGF0aCA9ICIvZXRjL3Nzc2Qvc3NzZC5jb25mIgorKyAgICBpZiBjbGllbnQuaG9zdC5mcy5l eGlzdHMoc3NzZF9jb25mX3BhdGgpOgorKyAgICAgICAgY29uZl9jb250ZW50ID0gY2xpZW50Lmhv c3QuZnMucmVhZChzc3NkX2NvbmZfcGF0aCkKKysgICAgICAgIGFzc2VydCAiYWNjZXNzX3Byb3Zp ZGVyID0gc2ltcGxlIiBpbiBjb25mX2NvbnRlbnQsICJBY2Nlc3MgcHJvdmlkZXIgbm90IHNldCB0 byBzaW1wbGUgYWZ0ZXIgcmVhbG0gZGVueS9wZXJtaXQiCisrICAgICAgICBhc3NlcnQgZiJzaW1w bGVfYWxsb3dfdXNlcnMgPSB7dX0iIGluIGNvbmZfY29udGVudCwgZiJVc2VyIHt1fSBub3QgaW4g c2ltcGxlX2FsbG93X3VzZXJzIGxpc3QiCisrCisrICAgIGFzc2VydCBjbGllbnQuYXV0aC5zc2gu cGFzc3dvcmQoZiJ7dX1Ae3Byb3ZpZGVyLmhvc3QuZG9tYWlufSIsICJTZWNyZXQxMjMiKSwgZiJV c2VyIHt1fSBsb2cgaW4gZmFpbGVkISIKKysgICAgYXNzZXJ0IG5vdCBjbGllbnQuYXV0aC5zc2gu cGFzc3dvcmQoZiJ7dTJ9QHtwcm92aWRlci5ob3N0LmRvbWFpbn0iLCAiU2VjcmV0MTIzIiksICJG YWlsZWQgdG8gREVOWSBsb2cgaW4hIgorKworKyAgICBjbGllbnQucmVhbG0ucGVybWl0KGFyZ3M9 W2Yie3UyfUB7cHJvdmlkZXIuaG9zdC5kb21haW59IiwgIi0tdmVyYm9zZSJdKQorKyAgICBhc3Nl cnQgY2xpZW50LmF1dGguc3NoLnBhc3N3b3JkKGYie3UyfUB7cHJvdmlkZXIuaG9zdC5kb21haW59 IiwgIlNlY3JldDEyMyIpLCBmIlVzZXIge3UyfSBsb2cgaW4gZmFpbGVkISIKKysKKysgICAgY2xp ZW50LnJlYWxtLnBlcm1pdChhcmdzPVsiLS13aXRoZHJhdyIsIGYie3V9QHtwcm92aWRlci5ob3N0 LmRvbWFpbn0iLCAiLS12ZXJib3NlIl0pCisrICAgIGFzc2VydCBub3QgY2xpZW50LmF1dGguc3No LnBhc3N3b3JkKGYie3V9QHtwcm92aWRlci5ob3N0LmRvbWFpbn0iLCAiU2VjcmV0MTIzIiksICJG YWlsZWQgdG8gREVOWSBsb2cgaW4hIgorKworKworK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJo aWdoIikKKytAcHl0ZXN0Lm1hcmsudG9wb2xvZ3koS25vd25Ub3BvbG9neUdyb3VwLkFueUFEKQor K2RlZiB0ZXN0X3JlYWxtX3Blcm1pdF9ncm91cF9hY2Nlc3NfY29udHJvbChjbGllbnQ6IENsaWVu dCwgcHJvdmlkZXI6IEdlbmVyaWNBRFByb3ZpZGVyKToKKysgICAgIiIiCisrICAgIDp0aXRsZTog QWxsb3cgYW5kIGRlbnkgYSBncm91cCBiYXNlZCBsb2cgaW4KKysgICAgOnN0ZXBzOgorKyAgICAg ICAgMS4gSm9pbiB0aGUgZG9tYWluLgorKyAgICAgICAgMi4gQ3JlYXRlIHR3byB1c2VycyBhbmQg YSBncm91cC4KKysgICAgICAgIDMuIEFkZCBvbmUgdXNlciB0byB0aGUgZ3JvdXAuCisrICAgIDpz dGVwczoKKysgICAgICAgIDEuIFBlcm1pdCBncm91cC1tZW1iZXJzIHRvIGxvZyBpbiBsb2NhbGx5 LgorKyAgICAgICAgMi4gc3NzZC5jb25mIGNvbnRhaW5zICdhY2Nlc3NfcHJvdmlkZXIgPSBzaW1w bGUnIGFuZCBhbGxvd2VkIHVzZXIKKysgICAgICAgIDMuIFBlcm1pdHRlZCB1c2VyIGlzIGFibGUg dG8gbG9nIGluIGxvY2FsbHkKKysgICAgICAgIDQuIE5vbi1wZXJtaXR0ZWQgdXNlciBpcyBub3Qg YWJsZSB0byBsb2cgaW4gbG9jYWxseQorKyAgICAgICAgNS4gV2l0aGRyYXcgbG9nIGluIGZvciBn cm91cAorKyAgICA6ZXhwZWN0ZWRyZXN1bHRzOgorKyAgICAgICAgMS4gUGVybWl0IGNvbW1hbmQg c3VjY2VlZHMuCisrICAgICAgICAyLiBTU1NEIGNvbmZpZ3VyYXRpb24gY29udGFpbnMgImFjY2Vz c19wcm92aWRlciIgYW5kICJhbGxvd2VkIHVzZXIiCisrICAgICAgICAzLiBQZXJtaXR0ZWQgdXNl ciBpcyBhbGxvd2VkIHRvIGxvZyBpbiBsb2NhbCBzeXN0ZW0uCisrICAgICAgICA0LiBOb24tcGVy bWl0dGVkIHVzZXIgaXMgZGVuaWVkIHRvIGxvZyBpbiBsb2NhbCBzeXN0ZW0uCisrICAgICAgICA1 LiBHcm91cG1lbWJlciB1c2VyIGlzIGRlbmllZCB0byBsb2cgaW4gbG9jYWwgc3lzdGVtLgorKyAg ICAiIiIKKysgICAgZyA9ICJ0ZXN0Z3JvdXAiCisrICAgIHVnMSA9ICJ1c2VyMSIKKysgICAgdTEg PSBwcm92aWRlci51c2VyKHVnMSkuYWRkKCkKKysgICAgdWcyID0gInVzZXIyIgorKyAgICBwcm92 aWRlci51c2VyKHVnMikuYWRkKCkKKysgICAgcHJvdmlkZXIuZ3JvdXAoZykuYWRkKCkuYWRkX21l bWJlcnMoW3UxXSkKKysKKysgICAgY2xpZW50LnJlYWxtLmpvaW4oCisrICAgICAgICBkb21haW49 cHJvdmlkZXIuaG9zdC5kb21haW4sIHVzZXI9cHJvdmlkZXIuaG9zdC5hZG1pbnVzZXIsIHBhc3N3 b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5wdywga3JiPUZhbHNlCisrICAgICkKKysKKysgICAgY2xp ZW50LnJlYWxtLnBlcm1pdChhcmdzPVsiLS1ncm91cHMiLCBnLCAiLS12ZXJib3NlIl0pCisrICAg IGkgPSBjbGllbnQudG9vbHMuaWQoZiJ7dWcxfUB7cHJvdmlkZXIuaG9zdC5kb21haW59IikKKysg ICAgYXNzZXJ0IHVnMSBpbiBpLnVzZXIubmFtZSwgIlVzZXIgcmVzb2x1dGlvbiBmYWlsZWQhIgor KyAgICBzc3NkX2NvbmZfcGF0aCA9ICIvZXRjL3Nzc2Qvc3NzZC5jb25mIgorKyAgICBpZiBjbGll bnQuaG9zdC5mcy5leGlzdHMoc3NzZF9jb25mX3BhdGgpOgorKyAgICAgICAgY29uZl9jb250ZW50 ID0gY2xpZW50Lmhvc3QuZnMucmVhZChzc3NkX2NvbmZfcGF0aCkKKysgICAgICAgIGFzc2VydCAi YWNjZXNzX3Byb3ZpZGVyID0gc2ltcGxlIiBpbiBjb25mX2NvbnRlbnQsICJBY2Nlc3MgcHJvdmlk ZXIgbm90IHNldCB0byBzaW1wbGUgYWZ0ZXIgcmVhbG0gZGVueS9wZXJtaXQiCisrICAgICAgICBh c3NlcnQgZiJzaW1wbGVfYWxsb3dfZ3JvdXBzID0ge2d9IiBpbiBjb25mX2NvbnRlbnQsIGYiZ3Jv dXAge2d9IG5vdCBpbiBzaW1wbGVfYWxsb3dfZ3JvdXBzIGxpc3QiCisrCisrICAgIGFzc2VydCBj bGllbnQuYXV0aC5zc2gucGFzc3dvcmQoZiJ7dWcxfUB7cHJvdmlkZXIuaG9zdC5kb21haW59Iiwg IlNlY3JldDEyMyIpLCAiVXNlciBsb2cgaW4gZmFpbGVkISIKKysgICAgYXNzZXJ0IG5vdCBjbGll bnQuYXV0aC5zc2gucGFzc3dvcmQoZiJ7dWcyfUB7cHJvdmlkZXIuaG9zdC5kb21haW59IiwgIlNl Y3JldDEyMyIpLCAiRmFpbGVkIHRvIERFTlkgbG9nIGluISIKKysKKysgICAgY2xpZW50LnJlYWxt LnBlcm1pdChhcmdzPVsiLS13aXRoZHJhdyIsICItLWdyb3VwcyIsIGcsICItLXZlcmJvc2UiXSkK KysgICAgYXNzZXJ0IG5vdCBjbGllbnQuYXV0aC5zc2gucGFzc3dvcmQoZiJ7dWcxfUB7cHJvdmlk ZXIuaG9zdC5kb21haW59IiwgIlNlY3JldDEyMyIpLCAiRmFpbGVkIHRvIERFTlkgbG9nIGluISIK K2RpZmYgLS1naXQgYS90ZXN0cy90b3BvbG9neV9jb250cm9sbGVycy5weSBiL3Rlc3RzL3RvcG9s b2d5X2NvbnRyb2xsZXJzLnB5CitpbmRleCA3M2E1YzQ5Li5hYjE2OGYyIDEwMDY0NAorLS0tIGEv dGVzdHMvdG9wb2xvZ3lfY29udHJvbGxlcnMucHkKKysrKyBiL3Rlc3RzL3RvcG9sb2d5X2NvbnRy b2xsZXJzLnB5CitAQCAtNTksMTMgKzU5LDQyIEBAIGNsYXNzIEFEVG9wb2xvZ3lDb250cm9sbGVy KFByb3Zpc2lvbmVkQmFja3VwVG9wb2xvZ3lDb250cm9sbGVyKToKKyAgICAgIiIiCisgCisgICAg IEBCYWNrdXBUb3BvbG9neUNvbnRyb2xsZXIucmVzdG9yZV92YW5pbGxhX29uX2Vycm9yCistICAg IGRlZiB0b3BvbG9neV9zZXR1cChzZWxmLCBjbGllbnQ6IENsaWVudEhvc3QsIHByb3ZpZGVyOiBB REhvc3QpIC0+IE5vbmU6CisrICAgIGRlZiB0b3BvbG9neV9zZXR1cChzZWxmLCBjbGllbnQ6IENs aWVudEhvc3QsIHByb3ZpZGVyOiBBREhvc3QgfCBTYW1iYUhvc3QpIC0+IE5vbmU6CisgICAgICAg ICBpZiBzZWxmLnByb3Zpc2lvbmVkOgorICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oZiJU b3BvbG9neSAne3NlbGYubmFtZX0nIGlzIGFscmVhZHkgcHJvdmlzaW9uZWQiKQorICAgICAgICAg ICAgIHJldHVybgorIAorLSAgICAgICAgIyBSZW1vdmUgYW55IGV4aXN0aW5nIEtlcmJlcm9zIGNv bmZpZ3VyYXRpb24gYW5kIGtleXRhYgorLSAgICAgICAgY2xpZW50LmZzLnJtKCIvZXRjL2tyYjUu Y29uZiIpCisrICAgICAgICBkb21haW4gPSBwcm92aWRlci5kb21haW4ubG93ZXIoKQorKyAgICAg ICAgcmVhbG0gPSBwcm92aWRlci5kb21haW4udXBwZXIoKQorKyAgICAgICAgIyBGYWxsYmFjayB0 byBob3N0bmFtZSBpZiB0aGUgY29ubiBvYmplY3QgZG9lc24ndCBoYXZlIGEgZGlyZWN0IElQL2hv c3QgYXR0cmlidXRlIGV4cG9zZWQKKysgICAgICAgIGtkY19ob3N0bmFtZSA9IGdldGF0dHIocHJv dmlkZXIuY29ubiwgImhvc3QiLCBwcm92aWRlci5ob3N0bmFtZSkKKysKKysgICAgICAgICMgMS4g Rm9yY2UgdGhlIGNvcnJlY3QgRlFETiBvbiB0aGUgY2xpZW50IFZNCisrICAgICAgICAjIGNsaWVu dF9mcWRuID0gZiJ7Y2xpZW50Lmhvc3RuYW1lLnNwbGl0KCcuJylbMF19Lntkb21haW59IgorKyAg ICAgICAgIyBjbGllbnQuY29ubi5leGVjKFsiaG9zdG5hbWVjdGwiLCAic2V0LWhvc3RuYW1lIiwg Y2xpZW50X2ZxZG5dKQorKworKyAgICAgICAgIyAyLiBXcml0ZSB0aGUgc3RyaWN0IEtlcmJlcm9z IGNvbmZpZ3VyYXRpb24gKHJlcGxhY2VzIHJlbW92aW5nIGl0KQorKyAgICAgICAgY2xpZW50LmZz LndyaXRlKAorKyAgICAgICAgICAgICIvZXRjL2tyYjUuY29uZiIsCisrICAgICAgICAgICAgZiIi IltsaWJkZWZhdWx0c10KKysgICAgZGVmYXVsdF9yZWFsbSA9IHtyZWFsbX0KKysgICAgZG5zX2xv b2t1cF9yZWFsbSA9IHRydWUKKysgICAgZG5zX2xvb2t1cF9rZGMgPSB0cnVlCisrICAgIHJkbnMg PSBmYWxzZQorKworK1tyZWFsbXNdCisrICAgIHtyZWFsbX0gPSB7eworKyAgICAgICAga2RjID0g e2tkY19ob3N0bmFtZX0KKysgICAgICAgIGFkbWluX3NlcnZlciA9IHtrZGNfaG9zdG5hbWV9Cisr ICAgIH19CisrCisrW2RvbWFpbl9yZWFsbV0KKysgICAgLntkb21haW59ID0ge3JlYWxtfQorKyAg ICB7ZG9tYWlufSA9IHtyZWFsbX0KKysiIiIsCisrICAgICAgICApCisrCisrICAgICAgICAjIDMu IFJlbW92ZSBhbnkgZXhpc3Rpbmcga2V5dGFiCisgICAgICAgICBjbGllbnQuZnMucm0oIi9ldGMv a3JiNS5rZXl0YWIiKQorIAorICAgICAgICAgIyBCYWNrdXAgc28gd2UgY2FuIHJlc3RvcmUgdG8g dGhpcyBzdGF0ZSBhZnRlciBlYWNoIHRlc3QKK0BAIC04MywxMSArMTEyLDE1IEBAIGNsYXNzIElQ QVRvcG9sb2d5Q29udHJvbGxlcihQcm92aXNpb25lZEJhY2t1cFRvcG9sb2d5Q29udHJvbGxlcik6 CisgICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbyhmIlRvcG9sb2d5ICd7c2VsZi5uYW1lfScg aXMgYWxyZWFkeSBwcm92aXNpb25lZCIpCisgICAgICAgICAgICAgcmV0dXJuCisgCistICAgICAg ICAjc2VsZi5sb2dnZXIuaW5mbyhmIkVucm9sbGluZyB7Y2xpZW50Lmhvc3RuYW1lfSBpbnRvIHtp cGEuZG9tYWlufSIpCisgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKGYie2NsaWVudC5ob3N0bmFt ZX0gaW50byB7aXBhLmRvbWFpbn0iKQorLSAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiKioqKioq KioqKioqKioqKioqKioqKioqKioiKjc3KQorKyAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiKioq KioqKioqKioqKioqKioqKioqKioqKioiICogNzcpCisrCisrICAgICAgICAjIDEuIEZvcmNlIHRo ZSBjb3JyZWN0IEZRRE4gb24gdGhlIGNsaWVudCBWTQorKyAgICAgICAgZG9tYWluID0gaXBhLmRv bWFpbi5sb3dlcigpCisrICAgICAgICBjbGllbnRfZnFkbiA9IGYie2NsaWVudC5ob3N0bmFtZS5z cGxpdCgnLicpWzBdfS57ZG9tYWlufSIKKysgICAgICAgIGNsaWVudC5jb25uLmV4ZWMoWyJob3N0 bmFtZWN0bCIsICJzZXQtaG9zdG5hbWUiLCBjbGllbnRfZnFkbl0pCisgCistICAgICAgICAjIFJl bW92ZSBhbnkgZXhpc3RpbmcgS2VyYmVyb3MgY29uZmlndXJhdGlvbiBhbmQga2V5dGFiCisrICAg ICAgICAjIDIuIFJlbW92ZSBhbnkgZXhpc3RpbmcgS2VyYmVyb3MgY29uZmlndXJhdGlvbiBhbmQg a2V5dGFiIChJUEEgcmVxdWlyZXMgYSBjbGVhbiBzbGF0ZSkKKyAgICAgICAgIGNsaWVudC5mcy5y bSgiL2V0Yy9rcmI1LmNvbmYiKQorICAgICAgICAgY2xpZW50LmZzLnJtKCIvZXRjL2tyYjUua2V5 dGFiIikKKyAKK0BAIC05NSw5ICsxMjgsNiBAQCBjbGFzcyBJUEFUb3BvbG9neUNvbnRyb2xsZXIo UHJvdmlzaW9uZWRCYWNrdXBUb3BvbG9neUNvbnRyb2xsZXIpOgorICAgICAgICAgY2xpZW50LmZz LmJhY2t1cCgiL2V0Yy9pcGEiKQorICAgICAgICAgY2xpZW50LmZzLmJhY2t1cCgiL3Zhci9saWIv aXBhLWNsaWVudCIpCisgCistICAgICAgICAjIEpvaW4gaXBhIGRvbWFpbgorLSAgICAgICAgI2Ns aWVudC5jb25uLmV4ZWMoWyJyZWFsbSIsICJsZWF2ZSIsIGlwYS5kb21haW5dLCBpbnB1dD1pcGEu YWRtaW5wdykKKy0KKyAgICAgICAgICMgQmFja3VwIHNvIHdlIGNhbiByZXN0b3JlIHRvIHRoaXMg c3RhdGUgYWZ0ZXIgZWFjaCB0ZXN0CisgICAgICAgICBzdXBlcigpLnRvcG9sb2d5X3NldHVwKCkK KyAKKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDE1LVRlc3RjYXNlcy1yZWFsbS1yZW5l dy5wYXRjaCBiLzAwMTUtVGVzdGNhc2VzLXJlYWxtLXJlbmV3LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZGNmNTUKLS0tIC9kZXYvbnVsbAorKysgYi8wMDE1LVRl c3RjYXNlcy1yZWFsbS1yZW5ldy5wYXRjaApAQCAtMCwwICsxLDIzMSBAQAorRnJvbSAwNmUyYTQ5 NDVlZTI1ZjM5ZDFjMTBiZTRjMWVlMjAzNTQxMmQ3NmEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogU2hyaWRoYXIgR2FkZWthciA8c2hyaWRoYXIuYWx3YXlzQGdtYWlsLmNvbT4KK0Rh dGU6IE1vbiwgMTMgQXByIDIwMjYgMjM6Mjg6MTQgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSCAxNS8y MF0gVGVzdGNhc2VzOiByZWFsbSByZW5ldworCitUZXN0Y2FzZXMgYWRkZWQ6CisgMS4gcmVhbG0g cmVuZXcgdXBkYXRlIGtleXRhYgorIDIuIGpvaW4gYSBwcmUtc3RhZ2VkIGNvbXB1dGVyIGluIGRl bGVnYXRlZCBvdQorLS0tCisgdGVzdHMvdGVzdF9yZWFsbWQucHkgfCAxOTkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxOTkgaW5z ZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9yZWFsbWQucHkgYi90ZXN0cy90 ZXN0X3JlYWxtZC5weQoraW5kZXggNmUyNWNiOS4uMDcyZmMzOCAxMDA2NDQKKy0tLSBhL3Rlc3Rz L3Rlc3RfcmVhbG1kLnB5CisrKysgYi90ZXN0cy90ZXN0X3JlYWxtZC5weQorQEAgLTMsOCArMywx MCBAQAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYW5ub3RhdGlvbnMKKyAKKyBpbXBvcnQgb3MK KytpbXBvcnQgcmUKKyBpbXBvcnQgc3lzCisgaW1wb3J0IHRpbWUKKytpbXBvcnQgYmFzZTY0Cisg ZnJvbSB0eXBpbmcgaW1wb3J0IEFueQorIAorIGltcG9ydCBweXRlc3QKK0BAIC0zODksMyArMzkx LDIwMCBAQCBkZWYgdGVzdF9yZWFsbV9wZXJtaXRfZ3JvdXBfYWNjZXNzX2NvbnRyb2woY2xpZW50 OiBDbGllbnQsIHByb3ZpZGVyOiBHZW5lcmljQURQcgorIAorICAgICBjbGllbnQucmVhbG0ucGVy bWl0KGFyZ3M9WyItLXdpdGhkcmF3IiwgIi0tZ3JvdXBzIiwgZywgIi0tdmVyYm9zZSJdKQorICAg ICBhc3NlcnQgbm90IGNsaWVudC5hdXRoLnNzaC5wYXNzd29yZChmInt1ZzF9QHtwcm92aWRlci5o b3N0LmRvbWFpbn0iLCAiU2VjcmV0MTIzIiksICJGYWlsZWQgdG8gREVOWSBsb2cgaW4hIgorKwor KworK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJoaWdoIikKKytAcHl0ZXN0Lm1hcmsudG9wb2xv Z3koS25vd25Ub3BvbG9neUdyb3VwLkFueUFEKQorK2RlZiB0ZXN0X3JlYWxtX3JlbmV3X2tleXRh YihjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEdlbmVyaWNBRFByb3ZpZGVyKToKKysgICAgIiIi CisrICAgIDp0aXRsZTogcmVhbG0gcmVuZXcgdXBkYXRlcyBtYWNoaW5lIGFjY291bnQgcGFzc3dv cmQgYW5kIGluY3JlbWVudHMgS1ZOTworKyAgICA6c3RlcHM6CisrICAgICAgICAxLiBKb2luIHRo ZSBjbGllbnQgdG8gdGhlIEFEIGRvbWFpbiB1c2luZyByZWFsbS4KKysgICAgICAgIDIuIENoZWNr IHRoZSBpbml0aWFsIEtWTk8gb2YgdGhlIG1hY2hpbmUgYWNjb3VudCBpbiB0aGUga2V5dGFiLgor KyAgICAgICAgMy4gRXhlY3V0ZSByZWFsbS5yZW5ldygpIHRvIHRyaWdnZXIgYSBwYXNzd29yZCBy ZW5ld2FsLgorKyAgICAgICAgNC4gVmVyaWZ5IHRoZSBLVk5PIGluIHRoZSBrZXl0YWIgaGFzIGlu Y3JlbWVudGVkLgorKyAgICAgICAgNS4gVmVyaWZ5IGF1dGhlbnRpY2F0aW9uIHN1Y2NlZWRzIHdp dGggdGhlIG5ldyBrZXl0YWIgdXNpbmcga2luaXQuCisrICAgICAgICA2LiBWZXJpZnkgdGhlIEFE IHJlcG9ydHMgdGhlIG1hdGNoaW5nIHVwZGF0ZWQgS1ZOTyB1c2luZyB0aGUga3ZubyB0b29sLgor KyAgICA6ZXhwZWN0ZWRyZXN1bHRzOgorKyAgICAgICAgMS4gQ2xpZW50IGpvaW5zIHN1Y2Nlc3Nm dWxseS4KKysgICAgICAgIDIuIHJlYWxtIHJlbmV3IGNvbXBsZXRlcyB3aXRob3V0IGVycm9ycy4K KysgICAgICAgIDMuIFRoZSBrZXl0YWIgY29udGFpbnMgbmV3IGVudHJpZXMgd2l0aCBhIGhpZ2hl ciBLVk5PLgorKyAgICAgICAgNC4ga2luaXQgYW5kIGt2bm8gY29tbWFuZHMgc3VjY2VlZCBhZ2Fp bnN0IHRoZSBEQy4KKysgICAgIiIiCisrICAgIHNob3J0X2hvc3RuYW1lID0gY2xpZW50Lmhvc3Qu aG9zdG5hbWUuc3BsaXQoIi4iKVswXS51cHBlcigpCisrICAgIGRvbWFpbiA9IHByb3ZpZGVyLmhv c3QuZG9tYWluCisrICAgIHJlYWxtID0gZG9tYWluLnVwcGVyKCkKKysgICAgbWFjaGluZV9wcmlu Y2lwYWwgPSBmIntzaG9ydF9ob3N0bmFtZX0kQHtyZWFsbX0iCisrICAgIGhvc3RfcHJpbmNpcGFs ID0gZiJob3N0L3tzaG9ydF9ob3N0bmFtZX1Ae3JlYWxtfSIKKysKKysgICAgIyBTdGVwIDE6IEpv aW4gdGhlIGRvbWFpbiB1c2luZyBuYXRpdmUgd3JhcHBlcgorKyAgICBqb2luX2NvbW1hbmQgPSBj bGllbnQucmVhbG0uam9pbigKKysgICAgICAgIGRvbWFpbj1kb21haW4sCisrICAgICAgICB1c2Vy PXByb3ZpZGVyLmhvc3QuYWRtaW51c2VyLAorKyAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9z dC5hZG1pbnB3LAorKyAgICAgICAgYXJncz1bIi0tbWVtYmVyc2hpcC1zb2Z0d2FyZT1hZGNsaSIs ICItLXZlcmJvc2UiXSwKKysgICAgKQorKyAgICBhc3NlcnQgam9pbl9jb21tYW5kLnJjID09IDAs IGYicmVhbG0gam9pbiBmYWlsZWQ6IHtqb2luX2NvbW1hbmQuc3RkZXJyfSIKKysKKysgICAgIyBT dGVwIDI6IEdldCBpbml0aWFsIEtWTk8gZnJvbSBrZXl0YWIKKysgICAgcmVzX2tsaXN0MSA9IGNs aWVudC5ob3N0LmNvbm4ucnVuKCJrbGlzdCAtdGsiKQorKyAgICBhc3NlcnQgcmVzX2tsaXN0MS5y YyA9PSAwLCAiRmFpbGVkIHRvIHJlYWQga2V5dGFiIgorKworKyAgICAjIEV4dHJhY3QgYWxsIEtW Tk9zIGZvciB0aGUgbWFjaGluZSBwcmluY2lwYWwgYW5kIGZpbmQgdGhlIG1heCAoY3VycmVudCkK KysgICAga3Zub3MxID0gcmUuZmluZGFsbChyZiJeXHMqKFxkKykuKj97cmUuZXNjYXBlKG1hY2hp bmVfcHJpbmNpcGFsKX0iLCByZXNfa2xpc3QxLnN0ZG91dCwgcmUuTVVMVElMSU5FKQorKyAgICBh c3NlcnQga3Zub3MxLCAiQ291bGQgbm90IGZpbmQgaW5pdGlhbCBLVk5PIGluIGtleXRhYiIKKysg ICAgaW5pdGlhbF9rdm5vID0gbWF4KGludChrKSBmb3IgayBpbiBrdm5vczEpCisrCisrICAgICMg U3RlcCAzOiBSdW4gdGhlIG5ldyByZWFsbSByZW5ldyBzdWJjb21tYW5kIHZpYSBuYXRpdmUgd3Jh cHBlcgorKyAgICByZW5ld19jb21tYW5kID0gY2xpZW50LnJlYWxtLnJlbmV3KGRvbWFpbj1kb21h aW4sIGFyZ3M9WyItLWNvbXB1dGVyLXBhc3N3b3JkLWxpZmV0aW1lPTAiXSkKKysgICAgYXNzZXJ0 IHJlbmV3X2NvbW1hbmQucmMgPT0gMCwgZiJyZWFsbSByZW5ldyBmYWlsZWQ6IHtyZW5ld19jb21t YW5kLnN0ZGVycn0iCisrCisrICAgICMgU3RlcCA0OiBHZXQgdXBkYXRlZCBLVk5PIGZyb20ga2V5 dGFiIGFuZCBhc3NlcnQgaXQgaW5jcmVtZW50ZWQKKysgICAgcmVzX2tsaXN0MiA9IGNsaWVudC5o b3N0LmNvbm4ucnVuKCJrbGlzdCAtdGsiKQorKyAgICBrdm5vczIgPSByZS5maW5kYWxsKHJmIl5c cyooXGQrKS4qP3tyZS5lc2NhcGUobWFjaGluZV9wcmluY2lwYWwpfSIsIHJlc19rbGlzdDIuc3Rk b3V0LCByZS5NVUxUSUxJTkUpCisrICAgIGFzc2VydCBrdm5vczIsICJDb3VsZCBub3QgZmluZCBu ZXcgS1ZOTyBpbiBrZXl0YWIiCisrICAgIG5ld19rdm5vID0gbWF4KGludChrKSBmb3IgayBpbiBr dm5vczIpCisrCisrICAgIGFzc2VydCBuZXdfa3ZubyA+IGluaXRpYWxfa3ZubywgZiJLVk5PIGRp ZCBub3QgaW5jcmVtZW50ISBPbGQ6IHtpbml0aWFsX2t2bm99LCBOZXc6IHtuZXdfa3Zub30iCisr CisrICAgICMgU3RlcCA1OiBWZXJpZnkgYXV0aGVudGljYXRpb24gd2l0aCBraW5pdCB1c2luZyB0 aGUgbWFjaGluZSBhY2NvdW50CisrICAgIHJlc19raW5pdCA9IGNsaWVudC5ob3N0LmNvbm4ucnVu KGYia2luaXQgLWsgJ3ttYWNoaW5lX3ByaW5jaXBhbH0nIikKKysgICAgYXNzZXJ0IHJlc19raW5p dC5yYyA9PSAwLCBmImtpbml0IGZhaWxlZCBhZnRlciByZW5ldzoge3Jlc19raW5pdC5zdGRlcnJ9 IgorKworKyAgICAjIFN0ZXAgNjogVmVyaWZ5IEFEIGFncmVlcyBvbiB0aGUgS1ZOTworKyAgICBy ZXNfa3ZubyA9IGNsaWVudC5ob3N0LmNvbm4ucnVuKGYia3ZubyAne2hvc3RfcHJpbmNpcGFsfSci KQorKyAgICBhc3NlcnQgcmVzX2t2bm8ucmMgPT0gMCwgZiJrdm5vIGNvbW1hbmQgZmFpbGVkOiB7 cmVzX2t2bm8uc3RkZXJyfSIKKysKKysgICAgIyBQYXJzZSAna3ZubyA9IFgnIGZyb20gdGhlIG91 dHB1dAorKyAgICBrdm5vX21hdGNoID0gcmUuc2VhcmNoKHIia3ZubyA9IChcZCspIiwgcmVzX2t2 bm8uc3Rkb3V0KQorKyAgICBhc3NlcnQga3Zub19tYXRjaCwgIkZhaWxlZCB0byBwYXJzZSBrdm5v IG91dHB1dCBmcm9tIEFEIgorKyAgICBhZF9rdm5vID0gaW50KGt2bm9fbWF0Y2guZ3JvdXAoMSkp CisrCisrICAgIGFzc2VydCBhZF9rdm5vID09IG5ld19rdm5vLCBmIkFEIEtWTk8gKHthZF9rdm5v fSkgZG9lcyBub3QgbWF0Y2ggbG9jYWwga2V5dGFiIEtWTk8gKHtuZXdfa3Zub30pIgorKworKyAg ICAjIFRlYXJkb3duOiBDbGVhbiB1cCB0aWNrZXRzIGFuZCBsZWF2ZSB0aGUgZG9tYWluIHVzaW5n IHRoZSBuYXRpdmUgd3JhcHBlcgorKyAgICBjbGllbnQuaG9zdC5jb25uLnJ1bigia2Rlc3Ryb3ki LCByYWlzZV9vbl9lcnJvcj1GYWxzZSkKKysgICAgY2xpZW50LnJlYWxtLmxlYXZlKAorKyAgICAg ICAgZG9tYWluPWRvbWFpbiwgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwgcGFzc3dvcmQ9 cHJvdmlkZXIuaG9zdC5hZG1pbnB3LCByYWlzZV9vbl9lcnJvcj1GYWxzZQorKyAgICApCisrCisr CisrQHB5dGVzdC5tYXJrLmltcG9ydGFuY2UoImhpZ2giKQorK0BweXRlc3QubWFyay50b3BvbG9n eShLbm93blRvcG9sb2d5R3JvdXAuQW55QUQpCisrZGVmIHRlc3RfcmVhbG1fam9pbl9wcmVzdGFn ZWRfZGVsZWdhdGVkX2V4cGxpY2l0X291KGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogR2VuZXJp Y0FEUHJvdmlkZXIpOgorKyAgICAiIiIKKysgICAgOnRpdGxlOiByZWFsbSBqb2luIHByZS1zdGFn ZWQgY2xpZW50IHdpdGggZGVsZWdhdGVkIHVzZXIgc3BlY2lmeWluZyBjb21wdXRlci1vdQorKyAg ICA6c2V0dXA6CisrICAgICAgICAxLiBDcmVhdGUgYSBkZWxlZ2F0ZWQgT1UgYW5kIGEgZGVsZWdh dGVkIHVzZXIgaW4gQUQuCisrICAgICAgICAyLiBQcmUtc3RhZ2UgdGhlIGNvbXB1dGVyIGluIHRo ZSBkZWxlZ2F0ZWQgT1UgdXNpbmcgYWRjbGkgKGFzIERvbWFpbiBBZG1pbikuCisrICAgICAgICAz LiBFeHBsaWNpdGx5IHN0cmlwIGROU0hvc3ROYW1lIGFuZCBzZXJ2aWNlUHJpbmNpcGFsTmFtZSB0 byBzaW11bGF0ZSBhIGJsYW5rIG9iamVjdC4KKysgICAgICAgIDQuIEdyYW50IHRoZSBkZWxlZ2F0 ZWQgdXNlciByaWdodHMgdG8gbW9kaWZ5IHRoZSBjb21wdXRlciBvYmplY3QuCisrICAgIDpzdGVw czoKKysgICAgICAgIDEuIEpvaW4gdGhlIGNsaWVudCB1c2luZyByZWFsbSBhcyB0aGUgZGVsZWdh dGVkIHVzZXIsIGV4cGxpY2l0bHkgcGFzc2luZyAtLWNvbXB1dGVyLW91LgorKyAgICA6ZXhwZWN0 ZWRyZXN1bHRzOgorKyAgICAgICAgMS4gcmVhbG0gc3VjY2Vzc2Z1bGx5IGZpbmRzIHRoZSBjb21w dXRlciBvYmplY3QgaW4gdGhlIHNwZWNpZmllZCBPVS4KKysgICAgICAgIDIuIHJlYWxtIHN1Y2Nl c3NmdWxseSBqb2lucyB0aGUgZG9tYWluIGFuZCBtb2RpZmllcyB0aGUgbWlzc2luZyBhdHRyaWJ1 dGVzIChkTlNIb3N0TmFtZSkuCisrICAgICAgICAzLiBLZXl0YWIgZW50cmllcyBhcmUgcG9wdWxh dGVkIHByb3Blcmx5LgorKyAgICAiIiIKKysgICAgc2hvcnRfaG9zdG5hbWUgPSBjbGllbnQuaG9z dC5ob3N0bmFtZS5zcGxpdCgiLiIpWzBdLnVwcGVyKCkKKysgICAgb3VfbmFtZSA9ICJEZWxlZ2F0 ZWRPVSIKKysgICAgb3VfZG4gPSBmIk9VPXtvdV9uYW1lfSx7cHJvdmlkZXIuaG9zdC5uYW1pbmdf Y29udGV4dH0iCisrICAgIGRlbGVnYXRlX3VzZXIgPSAiZGVsZWdhdGVfdXNlciIKKysgICAgZGVs ZWdhdGVfcGFzcyA9ICJTZWNyZXQxMjMhUWF6IgorKworKyAgICAjIEhlbHBlciB0byBydW4gc2lt cGxlIFBvd2VyU2hlbGwgY29tbWFuZHMgZm9yIEFEIG1hbmFnZW1lbnQKKysgICAgZGVmIHJ1bl9w cyhjbWQ6IHN0cik6CisrICAgICAgICBpbXBvcnQgYmFzZTY0CisrCisrICAgICAgICBlbmNvZGVk ID0gYmFzZTY0LmI2NGVuY29kZShjbWQuZW5jb2RlKCJ1dGYtMTYtbGUiKSkuZGVjb2RlKCJ1dGYt OCIpCisrICAgICAgICByZXR1cm4gcHJvdmlkZXIuaG9zdC5jb25uLnJ1bihmInBvd2Vyc2hlbGwg LUVuY29kZWRDb21tYW5kIHtlbmNvZGVkfSIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKQorKworKyAg ICAjIFNldHVwIDE6IENsZWFuIHByZXZpb3VzIHJ1bnMsIGNyZWF0ZSB0aGUgT1UsIGFuZCBjcmVh dGUgdGhlIGRlbGVnYXRlZCB1c2VyCisrICAgIHNldHVwX3BzID0gZiIiIgorKyAgICAkRXJyb3JB Y3Rpb25QcmVmZXJlbmNlID0gJ1NpbGVudGx5Q29udGludWUnCisrICAgIFJlbW92ZS1BRFVzZXIg LUlkZW50aXR5ICd7ZGVsZWdhdGVfdXNlcn0nIC1Db25maXJtOiRmYWxzZQorKyAgICBTZXQtQURP cmdhbml6YXRpb25hbFVuaXQgLUlkZW50aXR5ICd7b3VfZG59JyAtUHJvdGVjdGVkRnJvbUFjY2lk ZW50YWxEZWxldGlvbiAkZmFsc2UKKysgICAgUmVtb3ZlLUFET3JnYW5pemF0aW9uYWxVbml0IC1J ZGVudGl0eSAne291X2RufScgLVJlY3Vyc2l2ZSAtQ29uZmlybTokZmFsc2UKKysKKysgICAgJEVy cm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdTdG9wJworKyAgICBOZXctQURPcmdhbml6YXRpb25hbFVu aXQgLU5hbWUgJ3tvdV9uYW1lfScgLVBhdGggJ3twcm92aWRlci5ob3N0Lm5hbWluZ19jb250ZXh0 fScgLVByb3RlY3RlZEZyb21BY2NpZGVudGFsRGVsZXRpb24gJGZhbHNlCisrICAgICRwd2QgPSBD b252ZXJ0VG8tU2VjdXJlU3RyaW5nICJ7ZGVsZWdhdGVfcGFzc30iIC1Bc1BsYWluVGV4dCAtRm9y Y2UKKysgICAgTmV3LUFEVXNlciAtTmFtZSAie2RlbGVnYXRlX3VzZXJ9IiAtU2FtQWNjb3VudE5h bWUgIntkZWxlZ2F0ZV91c2VyfSIgLUFjY291bnRQYXNzd29yZCAkcHdkIC1FbmFibGVkICR0cnVl CisrICAgICIiIgorKyAgICBydW5fcHMoc2V0dXBfcHMpCisrCisrICAgIHRyeToKKysgICAgICAg ICMgQ2xlYW4gc3RhdGUgb24gY2xpZW50IGJlZm9yZSBzdGFydGluZworKyAgICAgICAgY2xpZW50 Lmhvc3QuY29ubi5ydW4oInJtIC1mIC9ldGMva3JiNS5rZXl0YWIiLCByYWlzZV9vbl9lcnJvcj1G YWxzZSkKKysKKysgICAgICAgICMgU2V0dXAgMjogUHJlLXN0YWdlIHRoZSBjb21wdXRlciB1c2lu ZyB0aGUgZnJhbWV3b3JrJ3MgYWRjbGkgd3JhcHBlciAoQXMgQWRtaW4pCisrICAgICAgICBwcmVz ZXRfY29tbWFuZCA9IGNsaWVudC5hZGNsaS5wcmVzZXRfY29tcHV0ZXIoCisrICAgICAgICAgICAg ZG9tYWluPXByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAgICAgIGxvZ2luX3VzZXI9cHJv dmlkZXIuaG9zdC5hZG1pbnVzZXIsCisrICAgICAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9z dC5hZG1pbnB3LAorKyAgICAgICAgICAgIGFyZ3M9WyItLXZlcmJvc2UiLCBmIi0tZG9tYWluLW91 PXtvdV9kbn0iLCBzaG9ydF9ob3N0bmFtZV0sCisrICAgICAgICAgICAga3JiPUZhbHNlLAorKyAg ICAgICAgKQorKyAgICAgICAgYXNzZXJ0IHByZXNldF9jb21tYW5kLnJjID09IDAsIGYiYWRjbGkg ZmFpbGVkIHRvIHByZS1zdGFnZSB0aGUgY29tcHV0ZXI6IHtwcmVzZXRfY29tbWFuZC5zdGRlcnJ9 IgorKworKyAgICAgICAgIyBTZXR1cCAzICYgNDogU3RyaXAgYXR0cmlidXRlcyBhbmQgZGVsZWdh dGUgcGVybWlzc2lvbnMgdG8gdGhlIHVzZXIKKysgICAgICAgIGRlbGVnYXRlX3BzID0gZiIiIgor KyAgICAgICAgJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdTdG9wJworKyAgICAgICAgU2V0LUFE Q29tcHV0ZXIgLUlkZW50aXR5ICd7c2hvcnRfaG9zdG5hbWV9JyAtQ2xlYXIgJ3NlcnZpY2VQcmlu Y2lwYWxOYW1lJywgJ2ROU0hvc3ROYW1lJworKworKyAgICAgICAgJENvbXAgPSBHZXQtQURDb21w dXRlciAtSWRlbnRpdHkgJ3tzaG9ydF9ob3N0bmFtZX0nCisrICAgICAgICAkVXNlciA9IEdldC1B RFVzZXIgLUlkZW50aXR5ICd7ZGVsZWdhdGVfdXNlcn0nCisrICAgICAgICAkQWNsID0gR2V0LUFj bCAtUGF0aCAiQUQ6XFwkKCRDb21wLkRpc3Rpbmd1aXNoZWROYW1lKSIKKysKKysgICAgICAgICRS dWxlID0gTmV3LU9iamVjdCBTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMuQWN0aXZlRGlyZWN0b3J5 QWNjZXNzUnVsZSgKKysgICAgICAgICAgICAkVXNlci5TSUQsCisrICAgICAgICAgICAgIldyaXRl UHJvcGVydHksIEV4dGVuZGVkUmlnaHQiLAorKyAgICAgICAgICAgICJBbGxvdyIsCisrICAgICAg ICAgICAgW2d1aWRdIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKKysgICAg ICAgICkKKysgICAgICAgICRBY2wuQWRkQWNjZXNzUnVsZSgkUnVsZSkKKysgICAgICAgIFNldC1B Y2wgLVBhdGggIkFEOlxcJCgkQ29tcC5EaXN0aW5ndWlzaGVkTmFtZSkiIC1BY2xPYmplY3QgJEFj bAorKyAgICAgICAgIiIiCisrICAgICAgICBydW5fcHMoZGVsZWdhdGVfcHMpCisrCisrICAgICAg ICAjIFN0ZXAgMTogSm9pbiB0aGUgZG9tYWluIHVzaW5nIHJlYWxtIFdJVEggZXhwbGljaXQgLS1j b21wdXRlci1vdSBhcyB0aGUgZGVsZWdhdGVkIHVzZXIKKysgICAgICAgIGpvaW5fY29tbWFuZCA9 IGNsaWVudC5yZWFsbS5qb2luKAorKyAgICAgICAgICAgIGRvbWFpbj1wcm92aWRlci5ob3N0LmRv bWFpbiwKKysgICAgICAgICAgICB1c2VyPWRlbGVnYXRlX3VzZXIsCisrICAgICAgICAgICAgcGFz c3dvcmQ9ZGVsZWdhdGVfcGFzcywKKysgICAgICAgICAgICBhcmdzPVsiLS1tZW1iZXJzaGlwLXNv ZnR3YXJlPWFkY2xpIiwgIi0tdmVyYm9zZSIsIGYiLS1jb21wdXRlci1vdT17b3VfZG59Il0sCisr ICAgICAgICAgICAga3JiPUZhbHNlLAorKyAgICAgICAgKQorKyAgICAgICAgYXNzZXJ0ICgKKysg ICAgICAgICAgICBqb2luX2NvbW1hbmQucmMgPT0gMAorKyAgICAgICAgKSwgZiJyZWFsbSBmYWls ZWQgdG8gZGlzY292ZXIgYW5kIGpvaW4gdGhlIHByZS1zdGFnZWQgY29tcHV0ZXI6IHtqb2luX2Nv bW1hbmQuc3RkZXJyfSIKKysKKysgICAgICAgICMgQXNzZXJ0IHJlYWxtZCBwZXJmb3JtZWQgdGhl IGROU0hvc3ROYW1lIG1vZGlmaWNhdGlvbiBzZWVuIGluIHlvdXIgbG9ncworKyAgICAgICAgYXNz ZXJ0ICgKKysgICAgICAgICAgICAiTW9kaWZ5aW5nIGNvbXB1dGVyIGFjY291bnQ6IGROU0hvc3RO YW1lIiBpbiBqb2luX2NvbW1hbmQuc3RkZXJyCisrICAgICAgICApLCAicmVhbG0gZGlkIG5vdCBy ZXBvcHVsYXRlIGROU0hvc3ROYW1lIGFzIGV4cGVjdGVkIgorKworKyAgICAgICAgIyBTdGVwIDI6 IFZlcmlmeSB0aGUga2V5dGFiIHdhcyBwb3B1bGF0ZWQgY29ycmVjdGx5CisrICAgICAgICBrbGlz dF9jbWQgPSBjbGllbnQuaG9zdC5jb25uLnJ1bigia2xpc3QgLWt0IikKKysgICAgICAgIGFzc2Vy dCBrbGlzdF9jbWQucmMgPT0gMCwgIkZhaWxlZCB0byByZWFkIC9ldGMva3JiNS5rZXl0YWIgYWZ0 ZXIgam9pbiIKKysgICAgICAgIGFzc2VydCBzaG9ydF9ob3N0bmFtZSBpbiBrbGlzdF9jbWQuc3Rk b3V0LnVwcGVyKCksICJNYWNoaW5lIGFjY291bnQgbm90IGZvdW5kIGluIGtleXRhYiIKKysKKysg ICAgZmluYWxseToKKysgICAgICAgICMgVGVhcmRvd246IExlYXZlIEFELCByZW1vdmUga2V5dGFi LCBhbmQgY2xlYW4gdXAgdGhlIEFEIG9iamVjdHMKKysgICAgICAgIHRyeToKKysgICAgICAgICAg ICBjbGllbnQucmVhbG0ubGVhdmUoCisrICAgICAgICAgICAgICAgIGRvbWFpbj1wcm92aWRlci5o b3N0LmRvbWFpbiwgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwgcGFzc3dvcmQ9cHJvdmlk ZXIuaG9zdC5hZG1pbnB3CisrICAgICAgICAgICAgKQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlv bjoKKysgICAgICAgICAgICAjIENhdGNoaW5nIHRoZSBleGNlcHRpb24gZW5zdXJlcyBmYWlsdXJl IHRvIGxlYXZlIGRvZXNuJ3QgYmxvY2sgQUQgb2JqZWN0IGNsZWFudXAKKysgICAgICAgICAgICBw YXNzCisrCisrICAgICAgICBjbGllbnQuaG9zdC5jb25uLnJ1bigicm0gLWYgL2V0Yy9rcmI1Lmtl eXRhYiIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKQorKworKyAgICAgICAgdGVhcmRvd25fcHMgPSBm IiIiCisrICAgICAgICAkRXJyb3JBY3Rpb25QcmVmZXJlbmNlID0gJ1NpbGVudGx5Q29udGludWUn CisrICAgICAgICBSZW1vdmUtQURVc2VyIC1JZGVudGl0eSAne2RlbGVnYXRlX3VzZXJ9JyAtQ29u ZmlybTokZmFsc2UKKysgICAgICAgIFNldC1BRE9yZ2FuaXphdGlvbmFsVW5pdCAtSWRlbnRpdHkg J3tvdV9kbn0nIC1Qcm90ZWN0ZWRGcm9tQWNjaWRlbnRhbERlbGV0aW9uICRmYWxzZQorKyAgICAg ICAgUmVtb3ZlLUFET3JnYW5pemF0aW9uYWxVbml0IC1JZGVudGl0eSAne291X2RufScgLVJlY3Vy c2l2ZSAtQ29uZmlybTokZmFsc2UKKysgICAgICAgICIiIgorKyAgICAgICAgcnVuX3BzKHRlYXJk b3duX3BzKQorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMTYtVGVzdGNhc2VzLXJlYWxt LXJlbmV3LWFuZC1wcmVqb2luLXRlc3RjYXNlcy5wYXRjaCBiLzAwMTYtVGVzdGNhc2VzLXJlYWxt LXJlbmV3LWFuZC1wcmVqb2luLXRlc3RjYXNlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5kNTNmYjBlCi0tLSAvZGV2L251bGwKKysrIGIvMDAxNi1UZXN0Y2FzZXMt cmVhbG0tcmVuZXctYW5kLXByZWpvaW4tdGVzdGNhc2VzLnBhdGNoCkBAIC0wLDAgKzEsMjcyIEBA CitGcm9tIDM3YzQ4NTBjNWNmZDZjYmExNmJkMTNhNmI1ZjEyOWM2YWUxODE3ZjcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBTaHJpZGhhciBHYWRla2FyIDxzaHJpZGhhci5hbHdheXNA Z21haWwuY29tPgorRGF0ZTogU2F0LCAxOCBBcHIgMjAyNiAwMDoyNDo1NyArMDUzMAorU3ViamVj dDogW1BBVENIIDE2LzIwXSBUZXN0Y2FzZXM6IHJlYWxtIHJlbmV3IGFuZCBwcmVqb2luIHRlc3Rj YXNlcworCitUZXN0Y2FzZXMgYWRkZWQ6CisgMS4gcmVhbG0gcmVuZXcga2V5dGFiCisgMi4gcmVh bG0gam9pbiBhIHByZXNldCBjb21wdXRlcgorLS0tCisgdGVzdHMvdGVzdF9yZWFsbWQucHkgfCAx ODQgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBj aGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAxMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS90ZXN0cy90ZXN0X3JlYWxtZC5weSBiL3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CitpbmRleCAwNzJm YzM4Li5hYzUxYmY5IDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9yZWFsbWQucHkKKysrKyBiL3Rl c3RzL3Rlc3RfcmVhbG1kLnB5CitAQCAtNyw2ICs3LDcgQEAgaW1wb3J0IHJlCisgaW1wb3J0IHN5 cworIGltcG9ydCB0aW1lCisgaW1wb3J0IGJhc2U2NAorK2ltcG9ydCB1dWlkCisgZnJvbSB0eXBp bmcgaW1wb3J0IEFueQorIAorIGltcG9ydCBweXRlc3QKK0BAIC00MTcsNyArNDE4LDYgQEAgZGVm IHRlc3RfcmVhbG1fcmVuZXdfa2V5dGFiKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogR2VuZXJp Y0FEUHJvdmlkZXIpOgorICAgICBtYWNoaW5lX3ByaW5jaXBhbCA9IGYie3Nob3J0X2hvc3RuYW1l fSRAe3JlYWxtfSIKKyAgICAgaG9zdF9wcmluY2lwYWwgPSBmImhvc3Qve3Nob3J0X2hvc3RuYW1l fUB7cmVhbG19IgorIAorLSAgICAjIFN0ZXAgMTogSm9pbiB0aGUgZG9tYWluIHVzaW5nIG5hdGl2 ZSB3cmFwcGVyCisgICAgIGpvaW5fY29tbWFuZCA9IGNsaWVudC5yZWFsbS5qb2luKAorICAgICAg ICAgZG9tYWluPWRvbWFpbiwKKyAgICAgICAgIHVzZXI9cHJvdmlkZXIuaG9zdC5hZG1pbnVzZXIs CitAQCAtNDI2LDcgKzQyNiw3IEBAIGRlZiB0ZXN0X3JlYWxtX3JlbmV3X2tleXRhYihjbGllbnQ6 IENsaWVudCwgcHJvdmlkZXI6IEdlbmVyaWNBRFByb3ZpZGVyKToKKyAgICAgKQorICAgICBhc3Nl cnQgam9pbl9jb21tYW5kLnJjID09IDAsIGYicmVhbG0gam9pbiBmYWlsZWQ6IHtqb2luX2NvbW1h bmQuc3RkZXJyfSIKKyAKKy0gICAgIyBTdGVwIDI6IEdldCBpbml0aWFsIEtWTk8gZnJvbSBrZXl0 YWIKKysgICAgIyBHZXQgaW5pdGlhbCBLVk5PIGZyb20ga2V5dGFiCisgICAgIHJlc19rbGlzdDEg PSBjbGllbnQuaG9zdC5jb25uLnJ1bigia2xpc3QgLXRrIikKKyAgICAgYXNzZXJ0IHJlc19rbGlz dDEucmMgPT0gMCwgIkZhaWxlZCB0byByZWFkIGtleXRhYiIKKyAKK0BAIC00MzUsMTEgKzQzNSw5 IEBAIGRlZiB0ZXN0X3JlYWxtX3JlbmV3X2tleXRhYihjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6 IEdlbmVyaWNBRFByb3ZpZGVyKToKKyAgICAgYXNzZXJ0IGt2bm9zMSwgIkNvdWxkIG5vdCBmaW5k IGluaXRpYWwgS1ZOTyBpbiBrZXl0YWIiCisgICAgIGluaXRpYWxfa3ZubyA9IG1heChpbnQoaykg Zm9yIGsgaW4ga3Zub3MxKQorIAorLSAgICAjIFN0ZXAgMzogUnVuIHRoZSBuZXcgcmVhbG0gcmVu ZXcgc3ViY29tbWFuZCB2aWEgbmF0aXZlIHdyYXBwZXIKKyAgICAgcmVuZXdfY29tbWFuZCA9IGNs aWVudC5yZWFsbS5yZW5ldyhkb21haW49ZG9tYWluLCBhcmdzPVsiLS1jb21wdXRlci1wYXNzd29y ZC1saWZldGltZT0wIl0pCisgICAgIGFzc2VydCByZW5ld19jb21tYW5kLnJjID09IDAsIGYicmVh bG0gcmVuZXcgZmFpbGVkOiB7cmVuZXdfY29tbWFuZC5zdGRlcnJ9IgorIAorLSAgICAjIFN0ZXAg NDogR2V0IHVwZGF0ZWQgS1ZOTyBmcm9tIGtleXRhYiBhbmQgYXNzZXJ0IGl0IGluY3JlbWVudGVk CisgICAgIHJlc19rbGlzdDIgPSBjbGllbnQuaG9zdC5jb25uLnJ1bigia2xpc3QgLXRrIikKKyAg ICAga3Zub3MyID0gcmUuZmluZGFsbChyZiJeXHMqKFxkKykuKj97cmUuZXNjYXBlKG1hY2hpbmVf cHJpbmNpcGFsKX0iLCByZXNfa2xpc3QyLnN0ZG91dCwgcmUuTVVMVElMSU5FKQorICAgICBhc3Nl cnQga3Zub3MyLCAiQ291bGQgbm90IGZpbmQgbmV3IEtWTk8gaW4ga2V5dGFiIgorQEAgLTQ0Nywx NDQgKzQ0NSwxMDggQEAgZGVmIHRlc3RfcmVhbG1fcmVuZXdfa2V5dGFiKGNsaWVudDogQ2xpZW50 LCBwcm92aWRlcjogR2VuZXJpY0FEUHJvdmlkZXIpOgorIAorICAgICBhc3NlcnQgbmV3X2t2bm8g PiBpbml0aWFsX2t2bm8sIGYiS1ZOTyBkaWQgbm90IGluY3JlbWVudCEgT2xkOiB7aW5pdGlhbF9r dm5vfSwgTmV3OiB7bmV3X2t2bm99IgorIAorLSAgICAjIFN0ZXAgNTogVmVyaWZ5IGF1dGhlbnRp Y2F0aW9uIHdpdGgga2luaXQgdXNpbmcgdGhlIG1hY2hpbmUgYWNjb3VudAorICAgICByZXNfa2lu aXQgPSBjbGllbnQuaG9zdC5jb25uLnJ1bihmImtpbml0IC1rICd7bWFjaGluZV9wcmluY2lwYWx9 JyIpCisgICAgIGFzc2VydCByZXNfa2luaXQucmMgPT0gMCwgZiJraW5pdCBmYWlsZWQgYWZ0ZXIg cmVuZXc6IHtyZXNfa2luaXQuc3RkZXJyfSIKKyAKKy0gICAgIyBTdGVwIDY6IFZlcmlmeSBBRCBh Z3JlZXMgb24gdGhlIEtWTk8KKyAgICAgcmVzX2t2bm8gPSBjbGllbnQuaG9zdC5jb25uLnJ1bihm Imt2bm8gJ3tob3N0X3ByaW5jaXBhbH0nIikKKyAgICAgYXNzZXJ0IHJlc19rdm5vLnJjID09IDAs IGYia3ZubyBjb21tYW5kIGZhaWxlZDoge3Jlc19rdm5vLnN0ZGVycn0iCisgCistICAgICMgUGFy c2UgJ2t2bm8gPSBYJyBmcm9tIHRoZSBvdXRwdXQKKyAgICAga3Zub19tYXRjaCA9IHJlLnNlYXJj aChyImt2bm8gPSAoXGQrKSIsIHJlc19rdm5vLnN0ZG91dCkKKyAgICAgYXNzZXJ0IGt2bm9fbWF0 Y2gsICJGYWlsZWQgdG8gcGFyc2Uga3ZubyBvdXRwdXQgZnJvbSBBRCIKKyAgICAgYWRfa3ZubyA9 IGludChrdm5vX21hdGNoLmdyb3VwKDEpKQorIAorICAgICBhc3NlcnQgYWRfa3ZubyA9PSBuZXdf a3ZubywgZiJBRCBLVk5PICh7YWRfa3Zub30pIGRvZXMgbm90IG1hdGNoIGxvY2FsIGtleXRhYiBL Vk5PICh7bmV3X2t2bm99KSIKKyAKKy0gICAgIyBUZWFyZG93bjogQ2xlYW4gdXAgdGlja2V0cyBh bmQgbGVhdmUgdGhlIGRvbWFpbiB1c2luZyB0aGUgbmF0aXZlIHdyYXBwZXIKKysgICAgIyBUZWFy ZG93bgorICAgICBjbGllbnQuaG9zdC5jb25uLnJ1bigia2Rlc3Ryb3kiLCByYWlzZV9vbl9lcnJv cj1GYWxzZSkKKyAgICAgY2xpZW50LnJlYWxtLmxlYXZlKAorLSAgICAgICAgZG9tYWluPWRvbWFp biwgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5h ZG1pbnB3LCByYWlzZV9vbl9lcnJvcj1GYWxzZQorKyAgICAgICAgZG9tYWluPWRvbWFpbiwgdXNl cj1wcm92aWRlci5ob3N0LmFkbWludXNlciwgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3 LAorICAgICApCisgCisgCisgQHB5dGVzdC5tYXJrLmltcG9ydGFuY2UoImhpZ2giKQorLUBweXRl c3QubWFyay50b3BvbG9neShLbm93blRvcG9sb2d5R3JvdXAuQW55QUQpCistZGVmIHRlc3RfcmVh bG1fam9pbl9wcmVzdGFnZWRfZGVsZWdhdGVkX2V4cGxpY2l0X291KGNsaWVudDogQ2xpZW50LCBw cm92aWRlcjogR2VuZXJpY0FEUHJvdmlkZXIpOgorK0BweXRlc3QubWFyay50b3BvbG9neShLbm93 blRvcG9sb2d5LkFEKQorK2RlZiB0ZXN0X3JlYWxtX2pvaW5fcHJlc3RhZ2VkX2RlbGVnYXRlZF9l eHBsaWNpdF9vdShjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFEKToKKyAgICAgIiIiCisgICAg IDp0aXRsZTogcmVhbG0gam9pbiBwcmUtc3RhZ2VkIGNsaWVudCB3aXRoIGRlbGVnYXRlZCB1c2Vy IHNwZWNpZnlpbmcgY29tcHV0ZXItb3UKKyAgICAgOnNldHVwOgorLSAgICAgICAgMS4gQ3JlYXRl IGEgZGVsZWdhdGVkIE9VIGFuZCBhIGRlbGVnYXRlZCB1c2VyIGluIEFELgorKyAgICAgICAgMS4g Q3JlYXRlIGEgZGVkaWNhdGVkIE9VIGFuZCBkZWxlZ2F0ZWQgdXNlciBpbiBBRC4KKyAgICAgICAg IDIuIFByZS1zdGFnZSB0aGUgY29tcHV0ZXIgaW4gdGhlIGRlbGVnYXRlZCBPVSB1c2luZyBhZGNs aSAoYXMgRG9tYWluIEFkbWluKS4KKy0gICAgICAgIDMuIEV4cGxpY2l0bHkgc3RyaXAgZE5TSG9z dE5hbWUgYW5kIHNlcnZpY2VQcmluY2lwYWxOYW1lIHRvIHNpbXVsYXRlIGEgYmxhbmsgb2JqZWN0 LgorKyAgICAgICAgMy4gU3RyaXAgY3JpdGljYWwgYXR0cmlidXRlcyAoZE5TSG9zdE5hbWUsIHNl cnZpY2VQcmluY2lwYWxOYW1lKSB0byBzaW11bGF0ZSBpbmNvbXBsZXRlIHNldHVwLgorICAgICAg ICAgNC4gR3JhbnQgdGhlIGRlbGVnYXRlZCB1c2VyIHJpZ2h0cyB0byBtb2RpZnkgdGhlIGNvbXB1 dGVyIG9iamVjdC4KKyAgICAgOnN0ZXBzOgorLSAgICAgICAgMS4gSm9pbiB0aGUgY2xpZW50IHVz aW5nIHJlYWxtIGFzIHRoZSBkZWxlZ2F0ZWQgdXNlciwgZXhwbGljaXRseSBwYXNzaW5nIC0tY29t cHV0ZXItb3UuCisrICAgICAgICAxLiBKb2luIHRoZSBjbGllbnQgdXNpbmcgcmVhbG0gYXMgdGhl IGRlbGVnYXRlZCB1c2VyIHdpdGggZXhwbGljaXQgLS1jb21wdXRlci1vdSBwYXJhbWV0ZXIuCisr ICAgICAgICAyLiBWZXJpZnkgcmVhbG0gcmVwb3B1bGF0ZXMgdGhlIG1pc3NpbmcgZE5TSG9zdE5h bWUgYXR0cmlidXRlLgorKyAgICAgICAgMy4gVmVyaWZ5IGtleXRhYiBpcyBjcmVhdGVkIHdpdGgg Y29ycmVjdCBtYWNoaW5lIGFjY291bnQgcHJpbmNpcGFscy4KKyAgICAgOmV4cGVjdGVkcmVzdWx0 czoKKy0gICAgICAgIDEuIHJlYWxtIHN1Y2Nlc3NmdWxseSBmaW5kcyB0aGUgY29tcHV0ZXIgb2Jq ZWN0IGluIHRoZSBzcGVjaWZpZWQgT1UuCistICAgICAgICAyLiByZWFsbSBzdWNjZXNzZnVsbHkg am9pbnMgdGhlIGRvbWFpbiBhbmQgbW9kaWZpZXMgdGhlIG1pc3NpbmcgYXR0cmlidXRlcyAoZE5T SG9zdE5hbWUpLgorLSAgICAgICAgMy4gS2V5dGFiIGVudHJpZXMgYXJlIHBvcHVsYXRlZCBwcm9w ZXJseS4KKysgICAgICAgIDEuIHJlYWxtIGpvaW4gc3VjY2VlZHMgd2l0aG91dCBhZG1pbiBjcmVk ZW50aWFscy4KKysgICAgICAgIDIuIGROU0hvc3ROYW1lIGF0dHJpYnV0ZSBpcyByZXBvcHVsYXRl ZCBieSByZWFsbS4KKysgICAgICAgIDMuIEtleXRhYiBjb250YWlucyBtYWNoaW5lIGFjY291bnQg cHJpbmNpcGFscy4KKyAgICAgIiIiCisrICAgIERFTEVHQVRFX1VTRVIgPSBmImpvaW51c2VyX3t1 dWlkLnV1aWQ0KCkuaGV4Wzo2XX0iCisrICAgIERFTEVHQVRFX1BBU1MgPSAiU2VjcmV0MTIzIVFh eiIKKysgICAgT1VfTkFNRSA9IGYiRGVsZWdhdGVkT1Vfe3V1aWQudXVpZDQoKS5oZXhbOjRdfSIK KyAgICAgc2hvcnRfaG9zdG5hbWUgPSBjbGllbnQuaG9zdC5ob3N0bmFtZS5zcGxpdCgiLiIpWzBd LnVwcGVyKCkKKy0gICAgb3VfbmFtZSA9ICJEZWxlZ2F0ZWRPVSIKKy0gICAgb3VfZG4gPSBmIk9V PXtvdV9uYW1lfSx7cHJvdmlkZXIuaG9zdC5uYW1pbmdfY29udGV4dH0iCistICAgIGRlbGVnYXRl X3VzZXIgPSAiZGVsZWdhdGVfdXNlciIKKy0gICAgZGVsZWdhdGVfcGFzcyA9ICJTZWNyZXQxMjMh UWF6IgorLQorLSAgICAjIEhlbHBlciB0byBydW4gc2ltcGxlIFBvd2VyU2hlbGwgY29tbWFuZHMg Zm9yIEFEIG1hbmFnZW1lbnQKKy0gICAgZGVmIHJ1bl9wcyhjbWQ6IHN0cik6CistICAgICAgICBp bXBvcnQgYmFzZTY0CistCistICAgICAgICBlbmNvZGVkID0gYmFzZTY0LmI2NGVuY29kZShjbWQu ZW5jb2RlKCJ1dGYtMTYtbGUiKSkuZGVjb2RlKCJ1dGYtOCIpCistICAgICAgICByZXR1cm4gcHJv dmlkZXIuaG9zdC5jb25uLnJ1bihmInBvd2Vyc2hlbGwgLUVuY29kZWRDb21tYW5kIHtlbmNvZGVk fSIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKQorLQorLSAgICAjIFNldHVwIDE6IENsZWFuIHByZXZp b3VzIHJ1bnMsIGNyZWF0ZSB0aGUgT1UsIGFuZCBjcmVhdGUgdGhlIGRlbGVnYXRlZCB1c2VyCist ICAgIHNldHVwX3BzID0gZiIiIgorLSAgICAkRXJyb3JBY3Rpb25QcmVmZXJlbmNlID0gJ1NpbGVu dGx5Q29udGludWUnCistICAgIFJlbW92ZS1BRFVzZXIgLUlkZW50aXR5ICd7ZGVsZWdhdGVfdXNl cn0nIC1Db25maXJtOiRmYWxzZQorLSAgICBTZXQtQURPcmdhbml6YXRpb25hbFVuaXQgLUlkZW50 aXR5ICd7b3VfZG59JyAtUHJvdGVjdGVkRnJvbUFjY2lkZW50YWxEZWxldGlvbiAkZmFsc2UKKy0g ICAgUmVtb3ZlLUFET3JnYW5pemF0aW9uYWxVbml0IC1JZGVudGl0eSAne291X2RufScgLVJlY3Vy c2l2ZSAtQ29uZmlybTokZmFsc2UKKy0KKy0gICAgJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdT dG9wJworLSAgICBOZXctQURPcmdhbml6YXRpb25hbFVuaXQgLU5hbWUgJ3tvdV9uYW1lfScgLVBh dGggJ3twcm92aWRlci5ob3N0Lm5hbWluZ19jb250ZXh0fScgLVByb3RlY3RlZEZyb21BY2NpZGVu dGFsRGVsZXRpb24gJGZhbHNlCistICAgICRwd2QgPSBDb252ZXJ0VG8tU2VjdXJlU3RyaW5nICJ7 ZGVsZWdhdGVfcGFzc30iIC1Bc1BsYWluVGV4dCAtRm9yY2UKKy0gICAgTmV3LUFEVXNlciAtTmFt ZSAie2RlbGVnYXRlX3VzZXJ9IiAtU2FtQWNjb3VudE5hbWUgIntkZWxlZ2F0ZV91c2VyfSIgLUFj Y291bnRQYXNzd29yZCAkcHdkIC1FbmFibGVkICR0cnVlCistICAgICIiIgorLSAgICBydW5fcHMo c2V0dXBfcHMpCisrICAgIG91X2RuID0gZiJPVT17T1VfTkFNRX0se3Byb3ZpZGVyLmhvc3QubmFt aW5nX2NvbnRleHR9IgorKyAgICBqb2luZWRfZG9tYWluID0gRmFsc2UKKyAKKyAgICAgdHJ5Ogor LSAgICAgICAgIyBDbGVhbiBzdGF0ZSBvbiBjbGllbnQgYmVmb3JlIHN0YXJ0aW5nCistICAgICAg ICBjbGllbnQuaG9zdC5jb25uLnJ1bigicm0gLWYgL2V0Yy9rcmI1LmtleXRhYiIsIHJhaXNlX29u X2Vycm9yPUZhbHNlKQorKyAgICAgICAgIyBDbGVhbnVwIGFuZCBjcmVhdGUgT1UKKysgICAgICAg IGZvciBjbWQgaW4gW2YiUmVtb3ZlLUFEVXNlciAtSWRlbnRpdHkgJ3tERUxFR0FURV9VU0VSfScg LUNvbmZpcm06JGZhbHNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIiwKKysgICAgICAg ICAgICAgICAgICAgIGYiUmVtb3ZlLUFET3JnYW5pemF0aW9uYWxVbml0IC1JZGVudGl0eSAne291 X2RufScgLVJlY3Vyc2l2ZSAtQ29uZmlybTokZmFsc2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29u dGludWUiXToKKysgICAgICAgICAgICBlbmMgPSBiYXNlNjQuYjY0ZW5jb2RlKGNtZC5lbmNvZGUo J3V0Zi0xNi1sZScpKS5kZWNvZGUoJ3V0Zi04JykKKysgICAgICAgICAgICBwcm92aWRlci5ob3N0 LmNvbm4ucnVuKGYicG93ZXJzaGVsbC5leGUgLUVuY29kZWRDb21tYW5kIHtlbmN9IiwgcmFpc2Vf b25fZXJyb3I9RmFsc2UpCisgCistICAgICAgICAjIFNldHVwIDI6IFByZS1zdGFnZSB0aGUgY29t cHV0ZXIgdXNpbmcgdGhlIGZyYW1ld29yaydzIGFkY2xpIHdyYXBwZXIgKEFzIEFkbWluKQorLSAg ICAgICAgcHJlc2V0X2NvbW1hbmQgPSBjbGllbnQuYWRjbGkucHJlc2V0X2NvbXB1dGVyKAorLSAg ICAgICAgICAgIGRvbWFpbj1wcm92aWRlci5ob3N0LmRvbWFpbiwKKy0gICAgICAgICAgICBsb2dp bl91c2VyPXByb3ZpZGVyLmhvc3QuYWRtaW51c2VyLAorLSAgICAgICAgICAgIHBhc3N3b3JkPXBy b3ZpZGVyLmhvc3QuYWRtaW5wdywKKy0gICAgICAgICAgICBhcmdzPVsiLS12ZXJib3NlIiwgZiIt LWRvbWFpbi1vdT17b3VfZG59Iiwgc2hvcnRfaG9zdG5hbWVdLAorLSAgICAgICAgICAgIGtyYj1G YWxzZSwKKy0gICAgICAgICkKKy0gICAgICAgIGFzc2VydCBwcmVzZXRfY29tbWFuZC5yYyA9PSAw LCBmImFkY2xpIGZhaWxlZCB0byBwcmUtc3RhZ2UgdGhlIGNvbXB1dGVyOiB7cHJlc2V0X2NvbW1h bmQuc3RkZXJyfSIKKy0KKy0gICAgICAgICMgU2V0dXAgMyAmIDQ6IFN0cmlwIGF0dHJpYnV0ZXMg YW5kIGRlbGVnYXRlIHBlcm1pc3Npb25zIHRvIHRoZSB1c2VyCistICAgICAgICBkZWxlZ2F0ZV9w cyA9IGYiIiIKKy0gICAgICAgICRFcnJvckFjdGlvblByZWZlcmVuY2UgPSAnU3RvcCcKKy0gICAg ICAgIFNldC1BRENvbXB1dGVyIC1JZGVudGl0eSAne3Nob3J0X2hvc3RuYW1lfScgLUNsZWFyICdz ZXJ2aWNlUHJpbmNpcGFsTmFtZScsICdkTlNIb3N0TmFtZScKKy0KKy0gICAgICAgICRDb21wID0g R2V0LUFEQ29tcHV0ZXIgLUlkZW50aXR5ICd7c2hvcnRfaG9zdG5hbWV9JworLSAgICAgICAgJFVz ZXIgPSBHZXQtQURVc2VyIC1JZGVudGl0eSAne2RlbGVnYXRlX3VzZXJ9JworLSAgICAgICAgJEFj bCA9IEdldC1BY2wgLVBhdGggIkFEOlxcJCgkQ29tcC5EaXN0aW5ndWlzaGVkTmFtZSkiCistCist ICAgICAgICAkUnVsZSA9IE5ldy1PYmplY3QgU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2VzLkFjdGl2 ZURpcmVjdG9yeUFjY2Vzc1J1bGUoCistICAgICAgICAgICAgJFVzZXIuU0lELAorLSAgICAgICAg ICAgICJXcml0ZVByb3BlcnR5LCBFeHRlbmRlZFJpZ2h0IiwKKy0gICAgICAgICAgICAiQWxsb3ci LAorLSAgICAgICAgICAgIFtndWlkXSIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAw MDAiCistICAgICAgICApCistICAgICAgICAkQWNsLkFkZEFjY2Vzc1J1bGUoJFJ1bGUpCistICAg ICAgICBTZXQtQWNsIC1QYXRoICJBRDpcXCQoJENvbXAuRGlzdGluZ3Vpc2hlZE5hbWUpIiAtQWNs T2JqZWN0ICRBY2wKKy0gICAgICAgICIiIgorLSAgICAgICAgcnVuX3BzKGRlbGVnYXRlX3BzKQor LQorLSAgICAgICAgIyBTdGVwIDE6IEpvaW4gdGhlIGRvbWFpbiB1c2luZyByZWFsbSBXSVRIIGV4 cGxpY2l0IC0tY29tcHV0ZXItb3UgYXMgdGhlIGRlbGVnYXRlZCB1c2VyCistICAgICAgICBqb2lu X2NvbW1hbmQgPSBjbGllbnQucmVhbG0uam9pbigKKy0gICAgICAgICAgICBkb21haW49cHJvdmlk ZXIuaG9zdC5kb21haW4sCistICAgICAgICAgICAgdXNlcj1kZWxlZ2F0ZV91c2VyLAorLSAgICAg ICAgICAgIHBhc3N3b3JkPWRlbGVnYXRlX3Bhc3MsCistICAgICAgICAgICAgYXJncz1bIi0tbWVt YmVyc2hpcC1zb2Z0d2FyZT1hZGNsaSIsICItLXZlcmJvc2UiLCBmIi0tY29tcHV0ZXItb3U9e291 X2RufSJdLAorLSAgICAgICAgICAgIGtyYj1GYWxzZSwKKy0gICAgICAgICkKKy0gICAgICAgIGFz c2VydCAoCistICAgICAgICAgICAgam9pbl9jb21tYW5kLnJjID09IDAKKy0gICAgICAgICksIGYi cmVhbG0gZmFpbGVkIHRvIGRpc2NvdmVyIGFuZCBqb2luIHRoZSBwcmUtc3RhZ2VkIGNvbXB1dGVy OiB7am9pbl9jb21tYW5kLnN0ZGVycn0iCistCistICAgICAgICAjIEFzc2VydCByZWFsbWQgcGVy Zm9ybWVkIHRoZSBkTlNIb3N0TmFtZSBtb2RpZmljYXRpb24gc2VlbiBpbiB5b3VyIGxvZ3MKKy0g ICAgICAgIGFzc2VydCAoCistICAgICAgICAgICAgIk1vZGlmeWluZyBjb21wdXRlciBhY2NvdW50 OiBkTlNIb3N0TmFtZSIgaW4gam9pbl9jb21tYW5kLnN0ZGVycgorLSAgICAgICAgKSwgInJlYWxt IGRpZCBub3QgcmVwb3B1bGF0ZSBkTlNIb3N0TmFtZSBhcyBleHBlY3RlZCIKKy0KKy0gICAgICAg ICMgU3RlcCAyOiBWZXJpZnkgdGhlIGtleXRhYiB3YXMgcG9wdWxhdGVkIGNvcnJlY3RseQorLSAg ICAgICAga2xpc3RfY21kID0gY2xpZW50Lmhvc3QuY29ubi5ydW4oImtsaXN0IC1rdCIpCistICAg ICAgICBhc3NlcnQga2xpc3RfY21kLnJjID09IDAsICJGYWlsZWQgdG8gcmVhZCAvZXRjL2tyYjUu a2V5dGFiIGFmdGVyIGpvaW4iCistICAgICAgICBhc3NlcnQgc2hvcnRfaG9zdG5hbWUgaW4ga2xp c3RfY21kLnN0ZG91dC51cHBlcigpLCAiTWFjaGluZSBhY2NvdW50IG5vdCBmb3VuZCBpbiBrZXl0 YWIiCisrICAgICAgICBlbmMgPSBiYXNlNjQuYjY0ZW5jb2RlKGYiTmV3LUFET3JnYW5pemF0aW9u YWxVbml0IC1OYW1lICd7T1VfTkFNRX0nIC1QYXRoICd7cHJvdmlkZXIuaG9zdC5uYW1pbmdfY29u dGV4dH0nIi5lbmNvZGUoJ3V0Zi0xNi1sZScpKS5kZWNvZGUoJ3V0Zi04JykKKysgICAgICAgIGFz c2VydCBwcm92aWRlci5ob3N0LmNvbm4ucnVuKGYicG93ZXJzaGVsbC5leGUgLUVuY29kZWRDb21t YW5kIHtlbmN9IiwgcmFpc2Vfb25fZXJyb3I9RmFsc2UpLnJjID09IDAKKyAKKy0gICAgZmluYWxs eToKKy0gICAgICAgICMgVGVhcmRvd246IExlYXZlIEFELCByZW1vdmUga2V5dGFiLCBhbmQgY2xl YW4gdXAgdGhlIEFEIG9iamVjdHMKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBjbGllbnQu cmVhbG0ubGVhdmUoCistICAgICAgICAgICAgICAgIGRvbWFpbj1wcm92aWRlci5ob3N0LmRvbWFp biwgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5h ZG1pbnB3CistICAgICAgICAgICAgKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKy0gICAg ICAgICAgICAjIENhdGNoaW5nIHRoZSBleGNlcHRpb24gZW5zdXJlcyBmYWlsdXJlIHRvIGxlYXZl IGRvZXNuJ3QgYmxvY2sgQUQgb2JqZWN0IGNsZWFudXAKKy0gICAgICAgICAgICBwYXNzCisrICAg ICAgICAjIENyZWF0ZSBkZWxlZ2F0ZWQgdXNlcgorKyAgICAgICAgcHMgPSBmIiRwd2QgPSBDb252 ZXJ0VG8tU2VjdXJlU3RyaW5nICd7REVMRUdBVEVfUEFTU30nIC1Bc1BsYWluVGV4dCAtRm9yY2U7 IE5ldy1BRFVzZXIgLU5hbWUgJ3tERUxFR0FURV9VU0VSfScgLVNhbUFjY291bnROYW1lICd7REVM RUdBVEVfVVNFUn0nIC1BY2NvdW50UGFzc3dvcmQgJHB3ZCAtRW5hYmxlZCAkdHJ1ZSIKKysgICAg ICAgIGVuYyA9IGJhc2U2NC5iNjRlbmNvZGUocHMuZW5jb2RlKCd1dGYtMTYtbGUnKSkuZGVjb2Rl KCd1dGYtOCcpCisrICAgICAgICBhc3NlcnQgcHJvdmlkZXIuaG9zdC5jb25uLnJ1bihmInBvd2Vy c2hlbGwuZXhlIC1FbmNvZGVkQ29tbWFuZCB7ZW5jfSIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKS5y YyA9PSAwCisgCisrICAgICAgICAjIFNldHVwIGNsaWVudAorICAgICAgICAgY2xpZW50Lmhvc3Qu Y29ubi5ydW4oInJtIC1mIC9ldGMva3JiNS5rZXl0YWIiLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkK KysgICAgICAgIGNsaWVudC5ob3N0LmNvbm4ucnVuKGYiZWNobyAnW2xpYmRlZmF1bHRzXVxuICAg IGRlZmF1bHRfcmVhbG0gPSB7cHJvdmlkZXIuaG9zdC5kb21haW4udXBwZXIoKX1cbiAgICBkbnNf bG9va3VwX3JlYWxtID0gdHJ1ZVxuICAgIGRuc19sb29rdXBfa2RjID0gdHJ1ZVxuJyA+IC9ldGMv a3JiNS5jb25mIikKKysKKysgICAgICAgICMgUHJlLXN0YWdlIGNvbXB1dGVyCisrICAgICAgICBy ZXN1bHQgPSBjbGllbnQuYWRjbGkucHJlc2V0X2NvbXB1dGVyKGRvbWFpbj1wcm92aWRlci5ob3N0 LmRvbWFpbiwgbG9naW5fdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkPXByb3ZpZGVyLmhv c3QuYWRtaW5wdywgYXJncz1bIi0tdmVyYm9zZSIsIGYiLS1kb21haW4tb3U9e291X2RufSIsIHNo b3J0X2hvc3RuYW1lXSwga3JiPUZhbHNlKQorKyAgICAgICAgYXNzZXJ0IHJlc3VsdC5yYyA9PSAw LCBmIlByZS1zdGFnZSBmYWlsZWQ6IHtyZXN1bHQuc3RkZXJyfSIKKysKKysgICAgICAgICMgU3Ry aXAgYXR0cmlidXRlcworKyAgICAgICAgbGRpZiA9IGYiZG46IENOPXtzaG9ydF9ob3N0bmFtZX0s e291X2RufVxuY2hhbmdldHlwZTogbW9kaWZ5XG5kZWxldGU6IGROU0hvc3ROYW1lXG4tXG5kZWxl dGU6IHNlcnZpY2VQcmluY2lwYWxOYW1lXG4tXG4iCisrICAgICAgICBjbGllbnQuaG9zdC5jb25u LnJ1bihmImNhdCA+IC90bXAvY2xlYXJfYXR0cnMubGRpZiA8PCdFT0YnXG57bGRpZn1cbkVPRiIp CisrICAgICAgICByZXN1bHQgPSBjbGllbnQuaG9zdC5jb25uLnJ1bihmImxkYXBtb2RpZnkgLXgg LUggbGRhcDovL3twcm92aWRlci5ob3N0Lmhvc3RuYW1lfSAtRCAne3Byb3ZpZGVyLmhvc3QuYWRt aW51c2VyfUB7cHJvdmlkZXIuaG9zdC5kb21haW59JyAtdyAne3Byb3ZpZGVyLmhvc3QuYWRtaW5w d30nIC1mIC90bXAvY2xlYXJfYXR0cnMubGRpZiIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKQorKyAg ICAgICAgYXNzZXJ0IHJlc3VsdC5yYyBpbiBbMCwgMTZdLCBmIlN0cmlwIGF0dHJpYnV0ZXMgZmFp bGVkOiB7cmVzdWx0LnN0ZGVycn0iCisrCisrICAgICAgICAjIERlbGVnYXRlIHBlcm1pc3Npb25z CisrICAgICAgICBwcyA9IGYiJENvbXAgPSBHZXQtQURDb21wdXRlciAtSWRlbnRpdHkgJ3tzaG9y dF9ob3N0bmFtZX0nOyAkVXNlciA9IEdldC1BRFVzZXIgLUlkZW50aXR5ICd7REVMRUdBVEVfVVNF Un0nOyAkQWNsID0gR2V0LUFjbCAtUGF0aCBcIkFEOiQoJENvbXAuRGlzdGluZ3Vpc2hlZE5hbWUp XCI7ICRSdWxlID0gTmV3LU9iamVjdCBTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMuQWN0aXZlRGly ZWN0b3J5QWNjZXNzUnVsZSgkVXNlci5TSUQsICdXcml0ZVByb3BlcnR5LCBFeHRlbmRlZFJpZ2h0 JywgJ0FsbG93JywgW2d1aWRdJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCcp OyAkQWNsLkFkZEFjY2Vzc1J1bGUoJFJ1bGUpOyBTZXQtQWNsIC1QYXRoIFwiQUQ6JCgkQ29tcC5E aXN0aW5ndWlzaGVkTmFtZSlcIiAtQWNsT2JqZWN0ICRBY2wiCisrICAgICAgICBlbmMgPSBiYXNl NjQuYjY0ZW5jb2RlKHBzLmVuY29kZSgndXRmLTE2LWxlJykpLmRlY29kZSgndXRmLTgnKQorKyAg ICAgICAgYXNzZXJ0IHByb3ZpZGVyLmhvc3QuY29ubi5ydW4oZiJwb3dlcnNoZWxsLmV4ZSAtRW5j b2RlZENvbW1hbmQge2VuY30iLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkucmMgPT0gMAorKworKyAg ICAgICAgIyBKb2luIGRvbWFpbiB3aXRoIGRlbGVnYXRlZCB1c2VyCisrICAgICAgICBqb2luX3Jl c3VsdCA9IGNsaWVudC5yZWFsbS5qb2luKGRvbWFpbj1wcm92aWRlci5ob3N0LmRvbWFpbiwgdXNl cj1ERUxFR0FURV9VU0VSLCBwYXNzd29yZD1ERUxFR0FURV9QQVNTLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPVsiLS1tZW1iZXJzaGlwLXNvZnR3YXJlPWFk Y2xpIiwgIi0tdmVyYm9zZSIsIGYiLS1jb21wdXRlci1vdT17b3VfZG59Il0sIGtyYj1GYWxzZSkK KysgICAgICAgIGpvaW5lZF9kb21haW4gPSBqb2luX3Jlc3VsdC5yYyA9PSAwCisrICAgICAgICBh c3NlcnQgam9pbl9yZXN1bHQucmMgPT0gMCwgZiJKb2luIGZhaWxlZDoge2pvaW5fcmVzdWx0LnN0 ZGVycn0iCisrICAgICAgICBhc3NlcnQgIk1vZGlmeWluZyBjb21wdXRlciBhY2NvdW50OiBkTlNI b3N0TmFtZSIgaW4gam9pbl9yZXN1bHQuc3RkZXJyCisrCisrICAgICAgICAjIFZlcmlmeSBrZXl0 YWIKKysgICAgICAgIGtsaXN0ID0gY2xpZW50Lmhvc3QuY29ubi5ydW4oImtsaXN0IC1rdCIsIHJh aXNlX29uX2Vycm9yPUZhbHNlKQorKyAgICAgICAgYXNzZXJ0IGtsaXN0LnJjID09IDAgYW5kIHNo b3J0X2hvc3RuYW1lIGluIGtsaXN0LnN0ZG91dC51cHBlcigpCisgCistICAgICAgICB0ZWFyZG93 bl9wcyA9IGYiIiIKKy0gICAgICAgICRFcnJvckFjdGlvblByZWZlcmVuY2UgPSAnU2lsZW50bHlD b250aW51ZScKKy0gICAgICAgIFJlbW92ZS1BRFVzZXIgLUlkZW50aXR5ICd7ZGVsZWdhdGVfdXNl cn0nIC1Db25maXJtOiRmYWxzZQorLSAgICAgICAgU2V0LUFET3JnYW5pemF0aW9uYWxVbml0IC1J ZGVudGl0eSAne291X2RufScgLVByb3RlY3RlZEZyb21BY2NpZGVudGFsRGVsZXRpb24gJGZhbHNl CistICAgICAgICBSZW1vdmUtQURPcmdhbml6YXRpb25hbFVuaXQgLUlkZW50aXR5ICd7b3VfZG59 JyAtUmVjdXJzaXZlIC1Db25maXJtOiRmYWxzZQorLSAgICAgICAgIiIiCistICAgICAgICBydW5f cHModGVhcmRvd25fcHMpCisrICAgIGZpbmFsbHk6CisrICAgICAgICAjIENsZWFudXAKKysgICAg ICAgIGlmIGpvaW5lZF9kb21haW46CisrICAgICAgICAgICAgdHJ5OgorKyAgICAgICAgICAgICAg ICBjbGllbnQucmVhbG0ubGVhdmUoZG9tYWluPXByb3ZpZGVyLmhvc3QuZG9tYWluLCB1c2VyPXBy b3ZpZGVyLmhvc3QuYWRtaW51c2VyLCBwYXNzd29yZD1wcm92aWRlci5ob3N0LmFkbWlucHcsIGFy Z3M9WyItLXJlbW92ZSJdKQorKyAgICAgICAgICAgIGV4Y2VwdDoKKysgICAgICAgICAgICAgICAg Y2xpZW50Lmhvc3QuY29ubi5ydW4oZiJyZWFsbSBsZWF2ZSB7cHJvdmlkZXIuaG9zdC5kb21haW59 IiwgcmFpc2Vfb25fZXJyb3I9RmFsc2UpCisrCisrICAgICAgICBjbGllbnQuaG9zdC5jb25uLnJ1 bigicm0gLWYgL2V0Yy9rcmI1LmtleXRhYiAvdG1wL2NsZWFyX2F0dHJzLmxkaWYiLCByYWlzZV9v bl9lcnJvcj1GYWxzZSkKKysgICAgICAgIGZvciBjbWQgaW4gW2YiUmVtb3ZlLUFEQ29tcHV0ZXIg LUlkZW50aXR5ICd7c2hvcnRfaG9zdG5hbWV9JyAtQ29uZmlybTokZmFsc2UgLUVycm9yQWN0aW9u IFNpbGVudGx5Q29udGludWUiLAorKyAgICAgICAgICAgICAgICAgICAgZiJSZW1vdmUtQURVc2Vy IC1JZGVudGl0eSAne0RFTEVHQVRFX1VTRVJ9JyAtQ29uZmlybTokZmFsc2UgLUVycm9yQWN0aW9u IFNpbGVudGx5Q29udGludWUiLAorKyAgICAgICAgICAgICAgICAgICAgZiJSZW1vdmUtQURPcmdh bml6YXRpb25hbFVuaXQgLUlkZW50aXR5ICd7b3VfZG59JyAtUmVjdXJzaXZlIC1Db25maXJtOiRm YWxzZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSJdOgorKyAgICAgICAgICAgIGVuYyA9 IGJhc2U2NC5iNjRlbmNvZGUoY21kLmVuY29kZSgndXRmLTE2LWxlJykpLmRlY29kZSgndXRmLTgn KQorKyAgICAgICAgICAgIHByb3ZpZGVyLmhvc3QuY29ubi5ydW4oZiJwb3dlcnNoZWxsLmV4ZSAt RW5jb2RlZENvbW1hbmQge2VuY30iLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkKKy0tIAorMi41NC4w CisKCmRpZmYgLS1naXQgYS8wMDE3LUZpeC1nYm9vbGVhbi10eXBvLXVzZS1GQUxTRS1UUlVFLWZv ci1mYWxzZS10cnVlLnBhdGNoIGIvMDAxNy1GaXgtZ2Jvb2xlYW4tdHlwby11c2UtRkFMU0UtVFJV RS1mb3ItZmFsc2UtdHJ1ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li42MGVmOGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvMDAxNy1GaXgtZ2Jvb2xlYW4tdHlwby11c2Ut RkFMU0UtVFJVRS1mb3ItZmFsc2UtdHJ1ZS5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tIDFm OTFhOWNmM2FmNDFhMmRmZTk4YmNhNmFiZTNlMTkwZDdmM2MyZDUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBTaHJpZGhhciBHYWRla2FyIDxzaHJpZGhhci5hbHdheXNAZ21haWwuY29t PgorRGF0ZTogV2VkLCAyOSBBcHIgMjAyNiAyMjozOToyMCArMDUzMAorU3ViamVjdDogW1BBVENI IDE3LzIwXSBGaXggZ2Jvb2xlYW4gdHlwbzogdXNlIEZBTFNFL1RSVUUgZm9yIGZhbHNlL3RydWUK KworVGhlIHZhcmlhYmxlcyBmdWxseV9xdWFsaWZpZWRfbmFtZXMgYW5kIGhhc19mcW4gYXJlIG9m IHR5cGUgZ2Jvb2xlYW4KK2Zyb20gR0xpYiwgd2hpY2ggdXNlcyBGQUxTRSBhbmQgVFJVRSBjb25z dGFudHMuIFVzaW5nIEM5OSdzIGZhbHNlIGFuZAordHJ1ZSBpcyBpbmNvcnJlY3QgZm9yIHRoaXMg dHlwZS4KKworRml4ZWQ6CistIExpbmUgMzQ2OiAqZnVsbHlfcXVhbGlmaWVkX25hbWVzID0gRkFM U0U7CistIExpbmUgMzY2OiAqZnVsbHlfcXVhbGlmaWVkX25hbWVzID0gVFJVRTsKKy0gTGluZSAz OTI6IGdib29sZWFuIGhhc19mcW4gPSBGQUxTRTsKKworU2lnbmVkLW9mZi1ieTogU2hyaWRoYXIg R2FkZWthciA8c2hyaWRoYXIuYWx3YXlzQGdtYWlsLmNvbT4KKy0tLQorIHRvb2xzL3JlYWxtLWpv aW4uYyB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rvb2xzL3JlYWxtLWpvaW4uYyBiL3Rvb2xzL3JlYWxt LWpvaW4uYworaW5kZXggY2IyOTBjYy4uNmY2YTBiMyAxMDA2NDQKKy0tLSBhL3Rvb2xzL3JlYWxt LWpvaW4uYworKysrIGIvdG9vbHMvcmVhbG0tam9pbi5jCitAQCAtMzQzLDcgKzM0Myw3IEBAIHJl YWxtX2NsaWVudF9kb21haW5faGFzX2Z1bGx5X3F1YWxpZmllZF9uYW1lcyAoUmVhbG1DbGllbnQg KmNsaWVudCwKKyAJcHJvdmlkZXIgPSByZWFsbV9jbGllbnRfZ2V0X3Byb3ZpZGVyIChjbGllbnQp OworIAlyZWFsbXMgPSByZWFsbV9kYnVzX3Byb3ZpZGVyX2dldF9yZWFsbXMgKHByb3ZpZGVyKTsK KyAKKy0JKmZ1bGx5X3F1YWxpZmllZF9uYW1lcyA9IGZhbHNlOworKwkqZnVsbHlfcXVhbGlmaWVk X25hbWVzID0gRkFMU0U7CisgCWZvciAoYyA9IDA7IHJlYWxtcyAmJiByZWFsbXNbY10gIT0gTlVM TDsgYysrKSB7CisgCQlnX2NsZWFyX29iamVjdCAoJnJlYWxtKTsKKyAJCXJlYWxtID0gcmVhbG1f Y2xpZW50X2dldF9yZWFsbSAoY2xpZW50LCByZWFsbXNbY10pOworQEAgLTM2Myw3ICszNjMsNyBA QCByZWFsbV9jbGllbnRfZG9tYWluX2hhc19mdWxseV9xdWFsaWZpZWRfbmFtZXMgKFJlYWxtQ2xp ZW50ICpjbGllbnQsCisgCQlpZiAoZm9ybWF0cyAhPSBOVUxMICYmIGZvcm1hdHNbMF0gIT0gTlVM TAorIAkJICAgICAgICAgICAgICAgICAgICAmJiAqZm9ybWF0c1swXSAhPSAnXDAnCisgCQkgICAg ICAgICAgICAgICAgICAgICYmIHN0cmNtcCAoZm9ybWF0c1swXSwgIiVVIikgIT0gMCkgeworLQkJ CSpmdWxseV9xdWFsaWZpZWRfbmFtZXMgPSB0cnVlOworKwkJCSpmdWxseV9xdWFsaWZpZWRfbmFt ZXMgPSBUUlVFOworIAkJfQorIAorIAkJYnJlYWs7CitAQCAtMzg5LDcgKzM4OSw3IEBAIHJlYWxt X2pvaW4gKFJlYWxtQ2xpZW50ICpjbGllbnQsCisgCVJlYWxtSm9pbkFyZ3MgYXJnczsKKyAJR09w dGlvbkdyb3VwICpncm91cDsKKyAJZ2ludCByZXQgPSAwOworLQlnYm9vbGVhbiBoYXNfZnFuID0g ZmFsc2U7CisrCWdib29sZWFuIGhhc19mcW4gPSBGQUxTRTsKKyAKKyAJR09wdGlvbkVudHJ5IG9w dGlvbl9lbnRyaWVzW10gPSB7CisgCQl7ICJhdXRvbWF0aWMtaWQtbWFwcGluZyIsIDAsIEdfT1BU SU9OX0ZMQUdfT1BUSU9OQUxfQVJHLCBHX09QVElPTl9BUkdfQ0FMTEJBQ0ssCistLSAKKzIuNTQu MAorCgpkaWZmIC0tZ2l0IGEvMDAxOC10ZXN0cy1BZGQtZGVsZWdhdGVkLXVzZXItam9pbi1sZWF2 ZS10ZXN0LnBhdGNoIGIvMDAxOC10ZXN0cy1BZGQtZGVsZWdhdGVkLXVzZXItam9pbi1sZWF2ZS10 ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NGI4YzgKLS0t IC9kZXYvbnVsbAorKysgYi8wMDE4LXRlc3RzLUFkZC1kZWxlZ2F0ZWQtdXNlci1qb2luLWxlYXZl LXRlc3QucGF0Y2gKQEAgLTAsMCArMSwyMDAgQEAKK0Zyb20gMjE1Y2E1OTI4NjJkZTNlZDZlMzA4 YzBiYmViN2Q0MTgxZTdjZDllNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNocmlk aGFyIEdhZGVrYXIgPHNocmlkaGFyLmFsd2F5c0BnbWFpbC5jb20+CitEYXRlOiBUaHUsIDMwIEFw ciAyMDI2IDEzOjA0OjAwICswNTMwCitTdWJqZWN0OiBbUEFUQ0ggMTgvMjBdIHRlc3RzOiBBZGQg ZGVsZWdhdGVkIHVzZXIgam9pbi9sZWF2ZSB0ZXN0CisKK0FkZCB0ZXN0X3JlYWxtX2pvaW5fbGVh dmVfZGVsZWdhdGVkX3VzZXIgdG8gdmVyaWZ5IHRoYXQ6CistIEEgZGVsZWdhdGVkIHVzZXIgKHdp dGggQ3JlYXRlQ2hpbGQgKyBHZW5lcmljQWxsIHBlcm1pc3Npb25zKSBjYW4gcmVhbG0gam9pbgor LSBUaGUgc2FtZSBkZWxlZ2F0ZWQgdXNlciBjYW4gcmVhbG0gbGVhdmUgKHdpdGhvdXQgLS1yZW1v dmUpCistIHJlYWxtIGpvaW4gd2l0aG91dCBhdXRvbWF0aWMgVUlEL0dJRCBtYXBwaW5nCisKK1Np Z25lZC1vZmYtYnk6IFNocmlkaGFyIEdhZGVrYXIgPHNocmlkaGFyLmFsd2F5c0BnbWFpbC5jb20+ CistLS0KKyB0ZXN0cy90ZXN0X3JlYWxtZC5weSB8IDE3MyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDE2OSBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9yZWFsbWQucHkgYi90 ZXN0cy90ZXN0X3JlYWxtZC5weQoraW5kZXggYWM1MWJmOS4uZGE5OTMzMyAxMDA2NDQKKy0tLSBh L3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CisrKysgYi90ZXN0cy90ZXN0X3JlYWxtZC5weQorQEAgLTU0 NSw4ICs1NDUsMTczIEBAIGRlZiB0ZXN0X3JlYWxtX2pvaW5fcHJlc3RhZ2VkX2RlbGVnYXRlZF9l eHBsaWNpdF9vdShjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFECisgICAgICAgICAgICAgICAg IGNsaWVudC5ob3N0LmNvbm4ucnVuKGYicmVhbG0gbGVhdmUge3Byb3ZpZGVyLmhvc3QuZG9tYWlu fSIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKQorIAorICAgICAgICAgY2xpZW50Lmhvc3QuY29ubi5y dW4oInJtIC1mIC9ldGMva3JiNS5rZXl0YWIgL3RtcC9jbGVhcl9hdHRycy5sZGlmIiwgcmFpc2Vf b25fZXJyb3I9RmFsc2UpCistICAgICAgICBmb3IgY21kIGluIFtmIlJlbW92ZS1BRENvbXB1dGVy IC1JZGVudGl0eSAne3Nob3J0X2hvc3RuYW1lfScgLUNvbmZpcm06JGZhbHNlIC1FcnJvckFjdGlv biBTaWxlbnRseUNvbnRpbnVlIiwKKy0gICAgICAgICAgICAgICAgICAgIGYiUmVtb3ZlLUFEVXNl ciAtSWRlbnRpdHkgJ3tERUxFR0FURV9VU0VSfScgLUNvbmZpcm06JGZhbHNlIC1FcnJvckFjdGlv biBTaWxlbnRseUNvbnRpbnVlIiwKKy0gICAgICAgICAgICAgICAgICAgIGYiUmVtb3ZlLUFET3Jn YW5pemF0aW9uYWxVbml0IC1JZGVudGl0eSAne291X2RufScgLVJlY3Vyc2l2ZSAtQ29uZmlybTok ZmFsc2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUiXToKKy0gICAgICAgICAgICBlbmMg PSBiYXNlNjQuYjY0ZW5jb2RlKGNtZC5lbmNvZGUoJ3V0Zi0xNi1sZScpKS5kZWNvZGUoJ3V0Zi04 JykKKysgICAgICAgIGZvciBjbWQgaW4gWworKyAgICAgICAgICAgIGYiUmVtb3ZlLUFEQ29tcHV0 ZXIgLUlkZW50aXR5ICd7c2hvcnRfaG9zdG5hbWV9JyAtQ29uZmlybTokZmFsc2UgLUVycm9yQWN0 aW9uIFNpbGVudGx5Q29udGludWUiLAorKyAgICAgICAgICAgIGYiUmVtb3ZlLUFEVXNlciAtSWRl bnRpdHkgJ3tERUxFR0FURV9VU0VSfScgLUNvbmZpcm06JGZhbHNlIC1FcnJvckFjdGlvbiBTaWxl bnRseUNvbnRpbnVlIiwKKysgICAgICAgICAgICAoCisrICAgICAgICAgICAgICAgIGYiUmVtb3Zl LUFET3JnYW5pemF0aW9uYWxVbml0IC1JZGVudGl0eSAne291X2RufScgIgorKyAgICAgICAgICAg ICAgICBmIi1SZWN1cnNpdmUgLUNvbmZpcm06JGZhbHNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNv bnRpbnVlIgorKyAgICAgICAgICAgICksCisrICAgICAgICBdOgorKyAgICAgICAgICAgIGVuYyA9 IGJhc2U2NC5iNjRlbmNvZGUoY21kLmVuY29kZSgidXRmLTE2LWxlIikpLmRlY29kZSgidXRmLTgi KQorICAgICAgICAgICAgIHByb3ZpZGVyLmhvc3QuY29ubi5ydW4oZiJwb3dlcnNoZWxsLmV4ZSAt RW5jb2RlZENvbW1hbmQge2VuY30iLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkKKysKKysKKytAcHl0 ZXN0Lm1hcmsuaW1wb3J0YW5jZSgiaGlnaCIpCisrQHB5dGVzdC5tYXJrLnRvcG9sb2d5KEtub3du VG9wb2xvZ3kuQUQpCisrZGVmIHRlc3RfcmVhbG1fam9pbl9sZWF2ZV9kZWxlZ2F0ZWRfdXNlcihj bGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFEKToKKysgICAgIiIiCisrICAgIDp0aXRsZTogcmVh bG0gam9pbiBhbmQgbGVhdmUgdXNpbmcgZGVsZWdhdGVkIHVzZXIgYWNjb3VudAorKyAgICA6c2V0 dXA6CisrICAgICAgICAxLiBDcmVhdGUgYSBkZWxlZ2F0ZWQgdXNlciB3aXRoICJBZGQgd29ya3N0 YXRpb25zIHRvIGRvbWFpbiIgcGVybWlzc2lvbgorKyAgICA6c3RlcHM6CisrICAgICAgICAxLiBK b2luIHRoZSBjbGllbnQgdXNpbmcgcmVhbG0gYXMgdGhlIGRlbGVnYXRlZCB1c2VyIChub3QgRG9t YWluIEFkbWluKQorKyAgICAgICAgMi4gVmVyaWZ5IHRoZSBqb2luIHN1Y2NlZWRzCisrICAgICAg ICAzLiBWZXJpZnkga2V5dGFiIGlzIGNyZWF0ZWQgd2l0aCBjb3JyZWN0IG1hY2hpbmUgYWNjb3Vu dCBwcmluY2lwYWxzCisrICAgICAgICA0LiBMZWF2ZSB0aGUgZG9tYWluIHVzaW5nIHJlYWxtIHdp dGggdGhlIHNhbWUgZGVsZWdhdGVkIHVzZXIgKHNwZWNpZnlpbmcgdXNlciBpbXBsaWVzIC0tcmVt b3ZlKQorKyAgICAgICAgNS4gVmVyaWZ5IHRoZSBsZWF2ZSBzdWNjZWVkcworKyAgICA6ZXhwZWN0 ZWRyZXN1bHRzOgorKyAgICAgICAgMS4gcmVhbG0gam9pbiBzdWNjZWVkcyB3aXRob3V0IGFkbWlu IGNyZWRlbnRpYWxzCisrICAgICAgICAyLiBDb21wdXRlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4g QUQKKysgICAgICAgIDMuIEtleXRhYiBjb250YWlucyBtYWNoaW5lIGFjY291bnQgcHJpbmNpcGFs cworKyAgICAgICAgNC4gcmVhbG0gbGVhdmUgc3VjY2VlZHMgd2l0aCBkZWxlZ2F0ZWQgdXNlcgor KyAgICAgICAgNS4gQ29tcHV0ZXIgb2JqZWN0IGlzIHJlbW92ZWQgZnJvbSBBRCAoc3BlY2lmeWlu ZyB1c2VyIGltcGxpZXMgLS1yZW1vdmUgcGVyIG1hbiBwYWdlKQorKyAgICA6Y3VzdG9tZXJzY2Vu YXJpbzogRmFsc2UKKysgICAgIiIiCisrICAgIERFTEVHQVRFX1VTRVIgPSBmImpvaW51c2VyX3t1 dWlkLnV1aWQ0KCkuaGV4Wzo2XX0iCisrICAgIERFTEVHQVRFX1BBU1MgPSAiU2VjcmV0MTIzIVFh eiIKKysgICAgc2hvcnRfaG9zdG5hbWUgPSBjbGllbnQuaG9zdC5ob3N0bmFtZS5zcGxpdCgiLiIp WzBdLnVwcGVyKCkKKysKKysgICAgIyBDcmVhdGUgZGVsZWdhdGVkIHVzZXIgdXNpbmcgdGVzdCBm cmFtZXdvcmsKKysgICAgZGVsZWdhdGVfdXNlciA9IHByb3ZpZGVyLnVzZXIoREVMRUdBVEVfVVNF UikuYWRkKHBhc3N3b3JkPURFTEVHQVRFX1BBU1MpCisrCisrICAgICMgR3JhbnQgcGVybWlzc2lv bnMgdG8gam9pbiBjb21wdXRlcnMgaW4gdGhlIGRlZmF1bHQgQ29tcHV0ZXJzIGNvbnRhaW5lcgor KyAgICBwcyA9ICgKKysgICAgICAgIGYiJFVzZXIgPSBHZXQtQURVc2VyIC1JZGVudGl0eSAne0RF TEVHQVRFX1VTRVJ9JzsgIgorKyAgICAgICAgZiIkRG9tYWluID0gR2V0LUFERG9tYWluOyAiCisr ICAgICAgICBmIiRDb21wdXRlcnNDb250YWluZXIgPSAnQ049Q29tcHV0ZXJzLCcgKyAkRG9tYWlu LkRpc3Rpbmd1aXNoZWROYW1lOyAiCisrICAgICAgICBmJyRBY2wgPSBHZXQtQWNsIC1QYXRoICJB RDokQ29tcHV0ZXJzQ29udGFpbmVyIjsgJworKyAgICAgICAgZiIkQ29tcEd1aWQgPSBbZ3VpZF0n YmY5NjdhODYtMGRlNi0xMWQwLWEyODUtMDBhYTAwMzA0OWUyJzsgIgorKyAgICAgICAgIyBHcmFu dCBDcmVhdGVDaGlsZCB0byBjcmVhdGUgY29tcHV0ZXIgb2JqZWN0cworKyAgICAgICAgZiIkUnVs ZTEgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnlB Y2Nlc3NSdWxlKCIKKysgICAgICAgIGYiJFVzZXIuU0lELCAnQ3JlYXRlQ2hpbGQnLCAnQWxsb3cn LCAkQ29tcEd1aWQpOyAiCisrICAgICAgICAjIEdyYW50IEdlbmVyaWNBbGwgb24gZGVzY2VuZGFu dCBjb21wdXRlciBvYmplY3RzIHRvIHNldCBhbGwgYXR0cmlidXRlcworKyAgICAgICAgZiIkUnVs ZTIgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnlB Y2Nlc3NSdWxlKCIKKysgICAgICAgIGYiJFVzZXIuU0lELCAnR2VuZXJpY0FsbCcsICdBbGxvdycs ICdEZXNjZW5kZW50cycsICRDb21wR3VpZCk7ICIKKysgICAgICAgIGYiJEFjbC5BZGRBY2Nlc3NS dWxlKCRSdWxlMSk7ICIKKysgICAgICAgIGYiJEFjbC5BZGRBY2Nlc3NSdWxlKCRSdWxlMik7ICIK KysgICAgICAgIGYnU2V0LUFjbCAtUGF0aCAiQUQ6JENvbXB1dGVyc0NvbnRhaW5lciIgLUFjbE9i amVjdCAkQWNsJworKyAgICApCisrICAgIGVuYyA9IGJhc2U2NC5iNjRlbmNvZGUocHMuZW5jb2Rl KCJ1dGYtMTYtbGUiKSkuZGVjb2RlKCJ1dGYtOCIpCisrICAgIHJlc3VsdCA9IHByb3ZpZGVyLmhv c3QuY29ubi5ydW4oZiJwb3dlcnNoZWxsLmV4ZSAtRW5jb2RlZENvbW1hbmQge2VuY30iLCByYWlz ZV9vbl9lcnJvcj1GYWxzZSkKKysgICAgYXNzZXJ0IHJlc3VsdC5yYyA9PSAwLCBmIkZhaWxlZCB0 byBncmFudCBqb2luIHBlcm1pc3Npb25zOiB7cmVzdWx0LnN0ZGVycn0hIgorKworKyAgICAjIEpv aW4gZG9tYWluIHdpdGggZGVsZWdhdGVkIHVzZXIKKysgICAgam9pbl9yZXN1bHQgPSBjbGllbnQu cmVhbG0uam9pbigKKysgICAgICAgIGRvbWFpbj1wcm92aWRlci5ob3N0LmRvbWFpbiwKKysgICAg ICAgIHVzZXI9REVMRUdBVEVfVVNFUiwKKysgICAgICAgIHBhc3N3b3JkPURFTEVHQVRFX1BBU1Ms CisrICAgICAgICBhcmdzPVsiLS1tZW1iZXJzaGlwLXNvZnR3YXJlPWFkY2xpIiwgIi0tdmVyYm9z ZSJdLAorKyAgICAgICAga3JiPUZhbHNlLAorKyAgICApCisrICAgIGFzc2VydCBqb2luX3Jlc3Vs dC5yYyA9PSAwLCBmIkpvaW4gZmFpbGVkOiB7am9pbl9yZXN1bHQuc3RkZXJyfSEiCisrCisrICAg ICMgVmVyaWZ5IGtleXRhYgorKyAgICBrbGlzdCA9IGNsaWVudC5ob3N0LmNvbm4ucnVuKCJrbGlz dCAta3QiLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkKKysgICAgYXNzZXJ0IGtsaXN0LnJjID09IDAs IGYia2xpc3QgZmFpbGVkOiB7a2xpc3Quc3RkZXJyfSEiCisrICAgIGFzc2VydCBzaG9ydF9ob3N0 bmFtZSBpbiBrbGlzdC5zdGRvdXQudXBwZXIoKSwgZiJNYWNoaW5lIGFjY291bnQgbm90IGluIGtl eXRhYjoge2tsaXN0LnN0ZG91dH0hIgorKworKyAgICAjIFZlcmlmeSBjb21wdXRlciBvYmplY3Qg ZXhpc3RzIGluIEFEIHVzaW5nIGFkY2xpCisrICAgIHNob3dfcmVzdWx0ID0gY2xpZW50LmFkY2xp LnNob3dfY29tcHV0ZXIoCisrICAgICAgICBkb21haW49cHJvdmlkZXIuaG9zdC5kb21haW4sIGxv Z2luX3VzZXI9REVMRUdBVEVfVVNFUiwgcGFzc3dvcmQ9REVMRUdBVEVfUEFTUywga3JiPUZhbHNl CisrICAgICkKKysgICAgYXNzZXJ0IHNob3dfcmVzdWx0LnJjID09IDAsIGYiQ29tcHV0ZXIgbm90 IGZvdW5kIGluIEFEOiB7c2hvd19yZXN1bHQuc3RkZXJyfSEiCisrCisrICAgICMgTGVhdmUgZG9t YWluIHdpdGggZGVsZWdhdGVkIHVzZXIgKHdpdGhvdXQgLS1yZW1vdmUpCisrICAgIGxlYXZlX3Jl c3VsdCA9IGNsaWVudC5yZWFsbS5sZWF2ZShkb21haW49cHJvdmlkZXIuaG9zdC5kb21haW4sIHVz ZXI9REVMRUdBVEVfVVNFUiwgcGFzc3dvcmQ9REVMRUdBVEVfUEFTUykKKysgICAgYXNzZXJ0IGxl YXZlX3Jlc3VsdC5yYyA9PSAwLCBmIkxlYXZlIGZhaWxlZDoge2xlYXZlX3Jlc3VsdC5zdGRlcnJ9 ISIKKysKKysgICAgIyBWZXJpZnkgc2hvdy1jb21wdXRlciBmYWlscyBhZnRlciBsZWF2ZSAoY2xp ZW50IGlzIG5vIGxvbmdlciBqb2luZWQpCisrICAgIHNob3dfYWZ0ZXJfbGVhdmUgPSBjbGllbnQu YWRjbGkuc2hvd19jb21wdXRlcigKKysgICAgICAgIGRvbWFpbj1wcm92aWRlci5ob3N0LmRvbWFp biwgbG9naW5fdXNlcj1ERUxFR0FURV9VU0VSLCBwYXNzd29yZD1ERUxFR0FURV9QQVNTLCBrcmI9 RmFsc2UKKysgICAgKQorKyAgICBhc3NlcnQgc2hvd19hZnRlcl9sZWF2ZS5yYyAhPSAwLCBmIlNo b3cgY29tcHV0ZXIgc2hvdWxkIGZhaWwgYWZ0ZXIgbGVhdmU6IHtzaG93X2FmdGVyX2xlYXZlLnN0 ZG91dH0hIgorKworKworK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJoaWdoIikKKytAcHl0ZXN0 Lm1hcmsudG9wb2xvZ3koS25vd25Ub3BvbG9neUdyb3VwLkFueUFEKQorK2RlZiB0ZXN0X3JlYWxt X2pvaW5fbm9fYXV0b21hdGljX2lkX21hcHBpbmcoY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBH ZW5lcmljQURQcm92aWRlcik6CisrICAgICIiIgorKyAgICA6dGl0bGU6IHJlYWxtIGpvaW4gd2l0 aG91dCBhdXRvbWF0aWMgVUlEL0dJRCBtYXBwaW5nCisrICAgIDpzZXR1cDoKKysgICAgICAgIDEu IENsaWVudCBhbmQgQUQvU2FtYmEgZG9tYWluIHJlYWR5CisrICAgICAgICAyLiBDcmVhdGUgYSB0 ZXN0IHVzZXIgd2l0aCBleHBsaWNpdCB1aWROdW1iZXIgYW5kIGdpZE51bWJlciBpbiBBRAorKyAg ICA6c3RlcHM6CisrICAgICAgICAxLiBKb2luIHRoZSBkb21haW4gd2l0aCAtLWF1dG9tYXRpYy1p ZC1tYXBwaW5nPW5vIG9wdGlvbgorKyAgICAgICAgMi4gVmVyaWZ5IHRoZSBqb2luIHN1Y2NlZWRz CisrICAgICAgICAzLiBWZXJpZnkgU1NTRCBjb25maWd1cmF0aW9uIGhhcyBsZGFwX2lkX21hcHBp bmcgPSBGYWxzZQorKyAgICAgICAgNC4gTG9va3VwIHRoZSB0ZXN0IHVzZXIgYW5kIHZlcmlmeSBp dCB1c2VzIGV4cGxpY2l0IFVJRC9HSUQgZnJvbSBBRAorKyAgICA6ZXhwZWN0ZWRyZXN1bHRzOgor KyAgICAgICAgMS4gcmVhbG0gam9pbiBzdWNjZWVkcyB3aXRoIC0tYXV0b21hdGljLWlkLW1hcHBp bmc9bm8KKysgICAgICAgIDIuIEpvaW4gY29tcGxldGVzIHN1Y2Nlc3NmdWxseQorKyAgICAgICAg My4gU1NTRCBjb25maWd1cmF0aW9uIHNob3dzIGxkYXBfaWRfbWFwcGluZyA9IEZhbHNlCisrICAg ICAgICA0LiBVc2VyIGxvb2t1cCByZXR1cm5zIHRoZSBleHBsaWNpdCB1aWROdW1iZXIvZ2lkTnVt YmVyIGZyb20gQUQKKysgICAgOmN1c3RvbWVyc2NlbmFyaW86IEZhbHNlCisrICAgICIiIgorKyAg ICBURVNUX1VTRVIgPSBmInRlc3R1c2VyX3t1dWlkLnV1aWQ0KCkuaGV4Wzo2XX0iCisrICAgIEVY UExJQ0lUX1VJRCA9IDEwMDAxCisrICAgIEVYUExJQ0lUX0dJRCA9IDEwMDAxCisrCisrICAgICMg Q3JlYXRlIHRlc3QgdXNlciB3aXRoIGV4cGxpY2l0IFVJRC9HSUQKKysgICAgdGVzdF91c2VyID0g cHJvdmlkZXIudXNlcihURVNUX1VTRVIpLmFkZCh1aWQ9RVhQTElDSVRfVUlELCBnaWQ9RVhQTElD SVRfR0lEKQorKworKyAgICAjIEpvaW4gZG9tYWluIHdpdGhvdXQgYXV0b21hdGljIElEIG1hcHBp bmcKKysgICAgam9pbl9yZXN1bHQgPSBjbGllbnQucmVhbG0uam9pbigKKysgICAgICAgIGRvbWFp bj1wcm92aWRlci5ob3N0LmRvbWFpbiwKKysgICAgICAgIHVzZXI9cHJvdmlkZXIuaG9zdC5hZG1p bnVzZXIsCisrICAgICAgICBwYXNzd29yZD1wcm92aWRlci5ob3N0LmFkbWlucHcsCisrICAgICAg ICBhcmdzPVsiLS1hdXRvbWF0aWMtaWQtbWFwcGluZz1ubyIsICItLXZlcmJvc2UiXSwKKysgICAg KQorKyAgICBhc3NlcnQgam9pbl9yZXN1bHQucmMgPT0gMCwgZiJKb2luIGZhaWxlZDoge2pvaW5f cmVzdWx0LnN0ZGVycn0hIgorKworKyAgICAjIFZlcmlmeSBTU1NEIGNvbmZpZ3VyYXRpb24gaGFz IElEIG1hcHBpbmcgZGlzYWJsZWQKKysgICAgc3NzZF9jb25mID0gY2xpZW50Lmhvc3QuY29ubi5y dW4oImNhdCAvZXRjL3Nzc2Qvc3NzZC5jb25mIiwgcmFpc2Vfb25fZXJyb3I9RmFsc2UpCisrICAg IGFzc2VydCBzc3NkX2NvbmYucmMgPT0gMCwgZiJGYWlsZWQgdG8gcmVhZCBTU1NEIGNvbmZpZzog e3Nzc2RfY29uZi5zdGRlcnJ9ISIKKysgICAgYXNzZXJ0ICJsZGFwX2lkX21hcHBpbmcgPSBGYWxz ZSIgaW4gc3NzZF9jb25mLnN0ZG91dCwgZiJJRCBtYXBwaW5nIG5vdCBkaXNhYmxlZCBpbiBTU1NE IGNvbmZpZzoge3Nzc2RfY29uZi5zdGRvdXR9ISIKKysKKysgICAgIyBMb29rdXAgdGVzdCB1c2Vy IGFuZCB2ZXJpZnkgZXhwbGljaXQgVUlEL0dJRCAocmVhbG1kIHJlcXVpcmVzIGZ1bGx5LXF1YWxp ZmllZCBuYW1lcykKKysgICAgcmVzdWx0ID0gY2xpZW50LnRvb2xzLmlkKGYie1RFU1RfVVNFUn1A e3Byb3ZpZGVyLmhvc3QuZG9tYWlufSIpCisrICAgIGFzc2VydCByZXN1bHQgaXMgbm90IE5vbmUs IGYiVXNlciB7VEVTVF9VU0VSfUB7cHJvdmlkZXIuaG9zdC5kb21haW59IG5vdCBmb3VuZCEiCisr ICAgIGFzc2VydCByZXN1bHQudXNlci5pZCA9PSBFWFBMSUNJVF9VSUQsIGYiRXhwZWN0ZWQgVUlE IHtFWFBMSUNJVF9VSUR9LCBnb3Qge3Jlc3VsdC51c2VyLmlkfSEiCisrICAgIGFzc2VydCByZXN1 bHQuZ3JvdXAuaWQgPT0gRVhQTElDSVRfR0lELCBmIkV4cGVjdGVkIEdJRCB7RVhQTElDSVRfR0lE fSwgZ290IHtyZXN1bHQuZ3JvdXAuaWR9ISIKKysKKysKKytAcHl0ZXN0Lm1hcmsuaW1wb3J0YW5j ZSgiaGlnaCIpCisrQHB5dGVzdC5tYXJrLnRvcG9sb2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlB RCkKKytkZWYgdGVzdF9yZWFsbV9qb2luX3dpdGhvdXRfYXV0aGVudGljYXRpb24oY2xpZW50OiBD bGllbnQsIHByb3ZpZGVyOiBHZW5lcmljQURQcm92aWRlcik6CisrICAgICIiIgorKyAgICA6dGl0 bGU6IHJlYWxtIGpvaW4gc2hvdWxkIGZhaWwgd2l0aCBpbnZhbGlkIGF1dGhlbnRpY2F0aW9uCisr ICAgIDpzZXR1cDoKKysgICAgICAgIDEuIENsaWVudCBhbmQgQUQvU2FtYmEgZG9tYWluIHJlYWR5 CisrICAgIDpzdGVwczoKKysgICAgICAgIDEuIEF0dGVtcHQgdG8gam9pbiB0aGUgZG9tYWluIHdp dGggaW52YWxpZCBjcmVkZW50aWFscworKyAgICAgICAgMi4gVmVyaWZ5IHRoZSBqb2luIGZhaWxz CisrICAgIDpleHBlY3RlZHJlc3VsdHM6CisrICAgICAgICAxLiByZWFsbSBqb2luIGNvbW1hbmQg ZmFpbHMKKysgICAgICAgIDIuIEVycm9yIGluZGljYXRlcyBhdXRoZW50aWNhdGlvbiBmYWlsdXJl CisrICAgIDpjdXN0b21lcnNjZW5hcmlvOiBGYWxzZQorKyAgICAiIiIKKysgICAgIyBBdHRlbXB0 IHRvIGpvaW4gd2l0aCBpbnZhbGlkIGNyZWRlbnRpYWxzCisrICAgIGpvaW5fcmVzdWx0ID0gY2xp ZW50Lmhvc3QuY29ubi5ydW4oCisrICAgICAgICBmInJlYWxtIGpvaW4gLS12ZXJib3NlIC1VIGlu dmFsaWR1c2VyIHtwcm92aWRlci5ob3N0LmRvbWFpbn0iLAorKyAgICAgICAgaW5wdXQ9Indyb25n cGFzc3dvcmRcbiIsCisrICAgICAgICByYWlzZV9vbl9lcnJvcj1GYWxzZSwKKysgICAgKQorKyAg ICBhc3NlcnQgam9pbl9yZXN1bHQucmMgIT0gMCwgZiJKb2luIHNob3VsZCBmYWlsIHdpdGggaW52 YWxpZCBjcmVkZW50aWFscyBidXQgc3VjY2VlZGVkOiB7am9pbl9yZXN1bHQuc3Rkb3V0fSEiCisr CisrICAgICMgVmVyaWZ5IGVycm9yIG1lc3NhZ2UgaW5kaWNhdGVzIGF1dGhlbnRpY2F0aW9uIGlz c3VlCisrICAgIGVycm9yX291dHB1dCA9IGpvaW5fcmVzdWx0LnN0ZGVyci5sb3dlcigpCisrICAg IGFzc2VydCBhbnkoCisrICAgICAgICBrZXl3b3JkIGluIGVycm9yX291dHB1dAorKyAgICAgICAg Zm9yIGtleXdvcmQgaW4gWyJwYXNzd29yZCIsICJjcmVkZW50aWFsIiwgImF1dGhlbnRpY2F0aW9u IiwgImZhaWxlZCIsICJwZXJtaXNzaW9uIiwgImludmFsaWQiLCAibm90IGZvdW5kIl0KKysgICAg KSwgZiJFeHBlY3RlZCBhdXRoZW50aWNhdGlvbiBlcnJvciBidXQgZ290OiB7am9pbl9yZXN1bHQu c3RkZXJyfSEiCistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAxOS1BZGQtR2l0TGFiLUNJ LUNELXBpcGVsaW5lLWNvbmZpZ3VyYXRpb24ucGF0Y2ggYi8wMDE5LUFkZC1HaXRMYWItQ0ktQ0Qt cGlwZWxpbmUtY29uZmlndXJhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5hY2VlMzBjCi0tLSAvZGV2L251bGwKKysrIGIvMDAxOS1BZGQtR2l0TGFiLUNJLUNE LXBpcGVsaW5lLWNvbmZpZ3VyYXRpb24ucGF0Y2gKQEAgLTAsMCArMSw0NjYgQEAKK0Zyb20gNWIy NjA5YWRhZmE2ZmNjM2M3Njk0YTYxZGQ2YWQ3ZDkwZjVjM2I0MSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IFNocmlkaGFyIEdhZGVrYXIgPHNocmlkaGFyLmFsd2F5c0BnbWFpbC5jb20+ CitEYXRlOiBXZWQsIDI5IEFwciAyMDI2IDAwOjEzOjA1ICswNTMwCitTdWJqZWN0OiBbUEFUQ0gg MTkvMjBdIEFkZCBHaXRMYWIgQ0kvQ0QgcGlwZWxpbmUgY29uZmlndXJhdGlvbgorCitBZGRzIGF1 dG9tYXRlZCBDSS9DRCBwaXBlbGluZXMgZm9yIHJlYWxtZCBvbiBHaXRMYWIgZnJlZWRlc2t0b3Au b3JnLgorUGlwZWxpbmVzIHJ1biBhdXRvbWF0aWNhbGx5IG9uOgorLSBNZXJnZSByZXF1ZXN0IGNy ZWF0aW9uCistIFB1c2hlcyB0byBtYWluL21hc3RlciBicmFuY2gKKy0gVGFnIGNyZWF0aW9uCisK K1BpcGVsaW5lIHN0YWdlczoKKy0gQnVpbGQ6IENvbXBpbGUgcmVhbG1kIG9uIEZlZG9yYSBhbmQg Q2VudE9TIFN0cmVhbSAxMAorLSBUZXN0OiBSdW4gcHl0ZXN0LCBzaGVsbGNoZWNrLCBkb2N1bWVu dGF0aW9uIGJ1aWxkcworLSBJbnRlZ3JhdGlvbjogUnVuIHB5dGVzdCB0ZXN0cworCitUaGUgY29u ZmlndXJhdGlvbiB1c2VzIEdpdExhYiBzaGFyZWQgcnVubmVycyB3aXRoIGNvbnRhaW5lci1iYXNl ZCB0ZXN0aW5nLgorRnVsbCBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHdpdGggcmVhbCBBRC9JUEEgcmVx dWlyZXMgY3VzdG9tIHJ1bm5lcnMgb3IKK1Rlc3RpbmcgRmFybSBpbnRlZ3JhdGlvbgorCitTaWdu ZWQtb2ZmLWJ5OiBTaHJpZGhhciBHYWRla2FyIDxzaHJpZGhhci5hbHdheXNAZ21haWwuY29tPgor LS0tCisgLmdpdGxhYi1jaS55bWwgICAgICAgICAgICAgICAgfCAgODUgKysrKysrKysrKysrKysr KysrKysrKysrCisgdGVzdHMvcHlwcm9qZWN0LnRvbWwgICAgICAgICAgfCAgMzkgKysrKysrKysr Ky0tCisgdGVzdHMvdGVzdF9yZWFsbWQucHkgICAgICAgICAgfCAxMTcgKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLQorIHRlc3RzL3RvcG9sb2d5LnB5ICAgICAgICAgICAgIHwgICAy ICstCisgdGVzdHMvdG9wb2xvZ3lfY29udHJvbGxlcnMucHkgfCAgIDUgKy0KKyA1IGZpbGVzIGNo YW5nZWQsIDIwMiBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAx MDA2NDQgLmdpdGxhYi1jaS55bWwKKworZGlmZiAtLWdpdCBhLy5naXRsYWItY2kueW1sIGIvLmdp dGxhYi1jaS55bWwKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mOTFmNzE3 CistLS0gL2Rldi9udWxsCisrKysgYi8uZ2l0bGFiLWNpLnltbAorQEAgLTAsMCArMSw4NSBAQAor KyMgR2l0TGFiIENJIGNvbmZpZ3VyYXRpb24gZm9yIHJlYWxtZAorKyMgUnVucyB0ZXN0cyBhdXRv bWF0aWNhbGx5IHdoZW4gTVIgaXMgY3JlYXRlZAorKworKyMgVXNlIG9mZmljaWFsIGZyZWVkZXNr dG9wLm9yZyBzaGFyZWQgcnVubmVycworKyMgaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3Jn L2ZyZWVkZXNrdG9wL2ZyZWVkZXNrdG9wLy0vd2lraXMvZ2l0bGFiLWNpCisrCisrc3RhZ2VzOgor KyAgLSBidWlsZAorKyAgLSB0ZXN0CisrCisrIyBEZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgam9i cworK2RlZmF1bHQ6CisrICAjIFVzZSBGZWRvcmEgNDQKKysgIGltYWdlOiByZWdpc3RyeS5mZWRv cmFwcm9qZWN0Lm9yZy9mZWRvcmE6NDQKKysKKysgIGJlZm9yZV9zY3JpcHQ6CisrICAgIC0gZG5m IGluc3RhbGwgLXkgZ2l0CisrCisrIyBUZW1wbGF0ZSBmb3IgYnVpbGQgam9icworKy5idWlsZF90 ZW1wbGF0ZToKKysgIHN0YWdlOiBidWlsZAorKyAgc2NyaXB0OgorKyAgICAjIE5vdGU6IElmIHlv dSBoYXZlIGEgbG9jYWwgc3BlYyBmaWxlLCBwcmVmZXI6IGRuZiBidWlsZGRlcCAteSBwYXRoL3Rv L3JlYWxtZC5zcGVjCisrICAgIC0gZG5mIGJ1aWxkZGVwIHJlYWxtZCAteQorKyAgICAtIC4vYXV0 b2dlbi5zaAorKyAgICAtIC4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1zeXNjb25mZGlyPS9l dGMgLS1sb2NhbHN0YXRlZGlyPS92YXIKKysgICAgLSBtYWtlIC1qJChucHJvYykKKysgICAgLSBt YWtlIGNoZWNrCisrICBhcnRpZmFjdHM6CisrICAgIHBhdGhzOgorKyAgICAgIC0gcmVhbG1kCisr ICAgICAgLSBzZXJ2aWNlL3JlYWxtZC5zZXJ2aWNlCisrICAgIGV4cGlyZV9pbjogMSBob3VyCisr ICAgIHJlcG9ydHM6CisrICAgICAganVuaXQ6IHRlc3Qtc3VpdGUubG9nCisrCisrIyBCdWlsZCBv biBGZWRvcmEgNDQKKytidWlsZDpmZWRvcmE6CisrICBleHRlbmRzOiAuYnVpbGRfdGVtcGxhdGUK KysgIGltYWdlOiByZWdpc3RyeS5mZWRvcmFwcm9qZWN0Lm9yZy9mZWRvcmE6NDQKKysKKysjIEJ1 aWxkIG9uIENlbnRPUyBTdHJlYW0gMTAKKytidWlsZDpjZW50b3MxMDoKKysgIGV4dGVuZHM6IC5i dWlsZF90ZW1wbGF0ZQorKyAgaW1hZ2U6IHF1YXkuaW8vY2VudG9zL2NlbnRvczpzdHJlYW0xMAor KyAgYmVmb3JlX3NjcmlwdDoKKysgICAgLSBkbmYgaW5zdGFsbCAteSAnZG5mLWNvbW1hbmQoY29u ZmlnLW1hbmFnZXIpJworKyAgICAtIGRuZiBjb25maWctbWFuYWdlciAtLXNldC1lbmFibGVkIGNy YgorKyAgICAtIGRuZiBpbnN0YWxsIC15IGdpdAorKworKyMgUHl0aG9uIGNvZGUgcXVhbGl0eSBj aGVja3MgKHVzaW5nIFJ1ZmYgLSBmYXN0LCBhbGwtaW4tb25lIGxpbnRlcikKKytsaW50OnB5dGhv bjoKKysgIHN0YWdlOiB0ZXN0CisrICBpbWFnZTogcmVnaXN0cnkuZmVkb3JhcHJvamVjdC5vcmcv ZmVkb3JhOjQ0CisrICBzY3JpcHQ6CisrICAgICMgSW5zdGFsbCBydWZmIG5hdGl2ZWx5IHZpYSBk bmYgdG8gYXZvaWQgUHl0aG9uIFBFUCA2NjggZXh0ZXJuYWxseS1tYW5hZ2VkIGVycm9ycworKyAg ICAtIGRuZiBpbnN0YWxsIC15IHJ1ZmYKKysgICAgLSB8CisrICAgICAgaWYgWyAtZCAidGVzdHMi IF07IHRoZW4KKysgICAgICAgIGNkIHRlc3RzCisrICAgICAgICAjIE9ubHkgbGludCBweXRlc3Qg dGVzdCBmaWxlcywgbm90IGxlZ2FjeSBQeXRob24gMiBELUJ1cyBleGFtcGxlcworKyAgICAgICAg VEVTVF9GSUxFUz0kKGZpbmQgLiAtbmFtZSAidGVzdF8qLnB5IiAtbyAtbmFtZSAidG9wb2xvZ3kq LnB5IiAtbyAtbmFtZSAiY29uZnRlc3QucHkiIC1vIC1uYW1lICJfX2luaXRfXy5weSIgfCB0ciAn XG4nICcgJykKKysgICAgICAgIGlmIFsgLXogIiRURVNUX0ZJTEVTIiBdOyB0aGVuCisrICAgICAg ICAgIGVjaG8gIk5vIFB5dGhvbiB0ZXN0IGZpbGVzIGZvdW5kLCBza2lwcGluZyBQeXRob24gbGlu dGluZyIKKysgICAgICAgICAgZXhpdCAwCisrICAgICAgICBmaQorKyAgICAgICAgZWNobyAiUnVu bmluZyBydWZmIGNoZWNrIChyZXBsYWNlcyBmbGFrZTgsIGlzb3J0LCBweWNvZGVzdHlsZSkuLi4i CisrICAgICAgICBydWZmIGNoZWNrICRURVNUX0ZJTEVTCisrICAgICAgICBlY2hvICJSdW5uaW5n IHJ1ZmYgZm9ybWF0IGNoZWNrIChyZXBsYWNlcyBibGFjaykuLi4iCisrICAgICAgICBydWZmIGZv cm1hdCAtLWNoZWNrICRURVNUX0ZJTEVTCisrICAgICAgZWxzZQorKyAgICAgICAgZWNobyAiTm8g dGVzdHMgZGlyZWN0b3J5IGZvdW5kLCBza2lwcGluZyBQeXRob24gbGludGluZyIKKysgICAgICBm aQorKyAgcnVsZXM6CisrICAgIC0gaWY6ICckQ0lfUElQRUxJTkVfU09VUkNFID09ICJtZXJnZV9y ZXF1ZXN0X2V2ZW50IicKKysKKysjIFdvcmtmbG93IHJ1bGVzIC0gd2hlbiB0byBydW4gcGlwZWxp bmVzCisrd29ya2Zsb3c6CisrICBydWxlczoKKysgICAgIyBSdW4gb24gbWVyZ2UgcmVxdWVzdHMK KysgICAgLSBpZjogJyRDSV9QSVBFTElORV9TT1VSQ0UgPT0gIm1lcmdlX3JlcXVlc3RfZXZlbnQi JworKyAgICAjIFJ1biBvbiBtYWluL21hc3RlciBicmFuY2gKKysgICAgLSBpZjogJyRDSV9DT01N SVRfQlJBTkNIID09ICJtYWluIiB8fCAkQ0lfQ09NTUlUX0JSQU5DSCA9PSAibWFzdGVyIicKKysg ICAgIyBSdW4gb24gdGFncworKyAgICAtIGlmOiAnJENJX0NPTU1JVF9UQUcnCitkaWZmIC0tZ2l0 IGEvdGVzdHMvcHlwcm9qZWN0LnRvbWwgYi90ZXN0cy9weXByb2plY3QudG9tbAoraW5kZXggM2Nm Y2U0Ni4uYmU3MjliYSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3B5cHJvamVjdC50b21sCisrKysgYi90 ZXN0cy9weXByb2plY3QudG9tbAorQEAgLTEsNSArMSw2IEBACisgW3Rvb2wubXlweV0KKyBleGNs dWRlID0gImRvY3MiCisrZGlzYWJsZV9lcnJvcl9jb2RlID0gWyJhdHRyLWRlZmluZWQiLCAiYXNz aWdubWVudCIsICJvcGVyYXRvciIsICJ1bmlvbi1hdHRyIl0KKyAKKyBbW3Rvb2wubXlweS5vdmVy cmlkZXNdXQorIG1vZHVsZSA9ICJqYy4qIgorQEAgLTksMTAgKzEwLDM4IEBAIGlnbm9yZV9taXNz aW5nX2ltcG9ydHMgPSB0cnVlCisgbW9kdWxlID0gImxkYXAuKiIKKyBpZ25vcmVfbWlzc2luZ19p bXBvcnRzID0gdHJ1ZQorIAorLVt0b29sLmlzb3J0XQorLWxpbmVfbGVuZ3RoID0gMTE5CistcHJv ZmlsZSA9ICJibGFjayIKKy1hZGRfaW1wb3J0cyA9ICJmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFu bm90YXRpb25zIgorK1tbdG9vbC5teXB5Lm92ZXJyaWRlc11dCisrbW9kdWxlID0gInB5dGVzdF9t aC4qIgorK2lnbm9yZV9taXNzaW5nX2ltcG9ydHMgPSB0cnVlCisrCisrW1t0b29sLm15cHkub3Zl cnJpZGVzXV0KKyttb2R1bGUgPSAic3NzZF90ZXN0X2ZyYW1ld29yay4qIgorK2lnbm9yZV9taXNz aW5nX2ltcG9ydHMgPSB0cnVlCisgCistW3Rvb2wuYmxhY2tdCisrW1t0b29sLm15cHkub3ZlcnJp ZGVzXV0KKyttb2R1bGUgPSAicHl0ZXN0LioiCisraWdub3JlX21pc3NpbmdfaW1wb3J0cyA9IHRy dWUKKysKKysjIFJ1ZmYgY29uZmlndXJhdGlvbiAtIHJlcGxhY2VzIGJsYWNrLCBpc29ydCwgZmxh a2U4LCBweWNvZGVzdHlsZQorK1t0b29sLnJ1ZmZdCisgbGluZS1sZW5ndGggPSAxMTkKKyt0YXJn ZXQtdmVyc2lvbiA9ICJweTMxMSIKKysKKysjIExpbnRpbmcgcnVsZXMKKytbdG9vbC5ydWZmLmxp bnRdCisrc2VsZWN0ID0gWworKyAgICAiRSIsICAgIyBweWNvZGVzdHlsZSBlcnJvcnMKKysgICAg IlciLCAgICMgcHljb2Rlc3R5bGUgd2FybmluZ3MKKysgICAgIkYiLCAgICMgcHlmbGFrZXMKKysg ICAgIkkiLCAgICMgaXNvcnQKKytdCisraWdub3JlID0gW10KKysKKysjIEZvcm1hdHRpbmcgKGJs YWNrLWNvbXBhdGlibGUpCisrW3Rvb2wucnVmZi5mb3JtYXRdCisrcXVvdGUtc3R5bGUgPSAiZG91 YmxlIgorK2luZGVudC1zdHlsZSA9ICJzcGFjZSIKKysKKysjIEltcG9ydCBzb3J0aW5nIChpc29y dC1jb21wYXRpYmxlKQorK1t0b29sLnJ1ZmYubGludC5pc29ydF0KKytyZXF1aXJlZC1pbXBvcnRz ID0gWyJmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFubm90YXRpb25zIl0KK2RpZmYgLS1naXQgYS90 ZXN0cy90ZXN0X3JlYWxtZC5weSBiL3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CitpbmRleCBkYTk5MzMz Li5mNGU4ZjRhIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9yZWFsbWQucHkKKysrKyBiL3Rlc3Rz L3Rlc3RfcmVhbG1kLnB5CitAQCAtMiwyNyArMiwyMSBAQAorIAorIGZyb20gX19mdXR1cmVfXyBp bXBvcnQgYW5ub3RhdGlvbnMKKyAKKy1pbXBvcnQgb3MKKy1pbXBvcnQgcmUKKy1pbXBvcnQgc3lz CistaW1wb3J0IHRpbWUKKyBpbXBvcnQgYmFzZTY0CisraW1wb3J0IHJlCisgaW1wb3J0IHV1aWQK Ky1mcm9tIHR5cGluZyBpbXBvcnQgQW55CisgCisgaW1wb3J0IHB5dGVzdAorIGZyb20gc3NzZF90 ZXN0X2ZyYW1ld29yay5yb2xlcy5hZCBpbXBvcnQgQUQKKyBmcm9tIHNzc2RfdGVzdF9mcmFtZXdv cmsucm9sZXMuY2xpZW50IGltcG9ydCBDbGllbnQKKyBmcm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsu cm9sZXMuZ2VuZXJpYyBpbXBvcnQgR2VuZXJpY0FEUHJvdmlkZXIKKy1mcm9tIHNzc2RfdGVzdF9m cmFtZXdvcmsucm9sZXMuaXBhIGltcG9ydCBJUEEKKy1mcm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsu dXRpbHMucmVhbG1kIGltcG9ydCBSZWFsbVV0aWxzCisgCisgZnJvbSAudG9wb2xvZ3kgaW1wb3J0 IEtub3duVG9wb2xvZ3ksIEtub3duVG9wb2xvZ3lHcm91cAorIAorIAorIEBweXRlc3QubWFyay5p bXBvcnRhbmNlKCJjcml0aWNhbCIpCisgQHB5dGVzdC5tYXJrLnRvcG9sb2d5KEtub3duVG9wb2xv Z3lHcm91cC5BbnlBRCkKKy1kZWYgdGVzdF9yZWFsbV9kaXNjb3ZlcihjbGllbnQ6IENsaWVudCwg cHJvdmlkZXI6IEFueSk6CisrZGVmIHRlc3RfcmVhbG1fZGlzY292ZXIoY2xpZW50OiBDbGllbnQs IHByb3ZpZGVyOiBHZW5lcmljQURQcm92aWRlcik6CisgICAgICIiIgorICAgICA6dGl0bGU6IHJl YWxtIGRpc2NvdmVyIGEgZG9tYWluCisgICAgIDpzdGVwczoKK0BAIC0zNiw3ICszMCw3IEBAIGRl ZiB0ZXN0X3JlYWxtX2Rpc2NvdmVyKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogQW55KToKKyAK KyBAcHl0ZXN0Lm1hcmsuaW1wb3J0YW5jZSgiY3JpdGljYWwiKQorIEBweXRlc3QubWFyay50b3Bv bG9neShLbm93blRvcG9sb2d5R3JvdXAuQW55QUQpCistZGVmIHRlc3RfcmVhbG1fam9pbihjbGll bnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisrZGVmIHRlc3RfcmVhbG1fam9pbihjbGllbnQ6 IENsaWVudCwgcHJvdmlkZXI6IEdlbmVyaWNBRFByb3ZpZGVyKToKKyAgICAgIiIiCisgICAgIDp0 aXRsZTogcmVhbG0gam9pbgorICAgICA6c3RlcHM6CitAQCAtNTYsNyArNTAsNyBAQCBkZWYgdGVz dF9yZWFsbV9qb2luKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogQW55KToKKyAKKyBAcHl0ZXN0 Lm1hcmsuaW1wb3J0YW5jZSgiY3JpdGljYWwiKQorIEBweXRlc3QubWFyay50b3BvbG9neShLbm93 blRvcG9sb2d5R3JvdXAuQW55QUQpCistZGVmIHRlc3RfcmVhbG1fbGVhdmUoY2xpZW50OiBDbGll bnQsIHByb3ZpZGVyOiBBbnkpOgorK2RlZiB0ZXN0X3JlYWxtX2xlYXZlKGNsaWVudDogQ2xpZW50 LCBwcm92aWRlcjogR2VuZXJpY0FEUHJvdmlkZXIpOgorICAgICAiIiIKKyAgICAgOnRpdGxlOiBy ZWFsbSBsZWF2ZQorICAgICA6c2V0dXA6CitAQCAtODQsNyArNzgsNyBAQCBkZWYgdGVzdF9yZWFs bV9sZWF2ZShjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisgCisgQHB5dGVzdC5tYXJr LmltcG9ydGFuY2UoImNyaXRpY2FsIikKKyBAcHl0ZXN0Lm1hcmsudG9wb2xvZ3koS25vd25Ub3Bv bG9neUdyb3VwLkFueUFEKQorLWRlZiB0ZXN0X3JlYWxtX2xpc3QoY2xpZW50OiBDbGllbnQsIHBy b3ZpZGVyOiBBbnkpOgorK2RlZiB0ZXN0X3JlYWxtX2xpc3QoY2xpZW50OiBDbGllbnQsIHByb3Zp ZGVyOiBHZW5lcmljQURQcm92aWRlcik6CisgICAgICIiIgorICAgICA6dGl0bGU6IHJlYWxtIGxp c3QgYXZhaWxhYmxlIGRvbWFpbnMKKyAgICAgOnN0ZXBzOgorQEAgLTk5LDcgKzkzLDcgQEAgZGVm IHRlc3RfcmVhbG1fbGlzdChjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisgCisgQHB5 dGVzdC5tYXJrLmltcG9ydGFuY2UoImNyaXRpY2FsIikKKyBAcHl0ZXN0Lm1hcmsudG9wb2xvZ3ko S25vd25Ub3BvbG9neUdyb3VwLkFueUFEKQorLWRlZiB0ZXN0X3JlYWxtX2pvaW5fbm9fY29uZmln X21vZGlmaWNhdGlvbihjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisrZGVmIHRlc3Rf cmVhbG1fam9pbl9ub19jb25maWdfbW9kaWZpY2F0aW9uKGNsaWVudDogQ2xpZW50LCBwcm92aWRl cjogR2VuZXJpY0FEUHJvdmlkZXIpOgorICAgICAiIiIKKyAgICAgOnRpdGxlOiByZWFsbSBqb2lu IHdpdGhvdXQgbW9kaWZ5aW5nIGxvY2FsIGNvbmZpZworICAgICA6c3RlcHM6CitAQCAtMTQ1LDcg KzEzOSw3IEBAIGRlZiB0ZXN0X3JlYWxtX2pvaW5fbm9fY29uZmlnX21vZGlmaWNhdGlvbihjbGll bnQ6IENsaWVudCwgcHJvdmlkZXI6IEFueSk6CisgCisgQHB5dGVzdC5tYXJrLmltcG9ydGFuY2Uo ImNyaXRpY2FsIikKKyBAcHl0ZXN0Lm1hcmsudG9wb2xvZ3koS25vd25Ub3BvbG9neUdyb3VwLkFu eUFEKQorLWRlZiB0ZXN0X3JlYWxtX2xlYXZlX3JlbW92ZV9jb21wdXRlcihjbGllbnQ6IENsaWVu dCwgcHJvdmlkZXI6IEFueSk6CisrZGVmIHRlc3RfcmVhbG1fbGVhdmVfcmVtb3ZlX2NvbXB1dGVy KGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogR2VuZXJpY0FEUHJvdmlkZXIpOgorICAgICAiIiIK KyAgICAgOnRpdGxlOiBSZWFsbSBsZWF2ZSByZW1vdmUgY29tcHV0ZXIKKyAgICAgOnN0ZXBzOgor QEAgLTI2Nyw3ICsyNjEsNyBAQCBkZWYgdGVzdF9yZWFsbV9qb2luX2xlYXZlX2NvbWJpbmF0aW9u cygKKyAgICAgKQorIAorICAgICBhc3NlcnQgam9pbl9jbWQucmMgPT0gMCwgKAorLSAgICAgICAg ZiJSZWFsbSBqb2luIGZhaWxlZCBmb3Ige2NsaWVudF9zb2Z0d2FyZX0re21lbWJlcnNoaXBfc29m dHdhcmV9IVxuIiBmIlN0ZGVycjoge2pvaW5fY21kLnN0ZGVycn0iCisrICAgICAgICBmIlJlYWxt IGpvaW4gZmFpbGVkIGZvciB7Y2xpZW50X3NvZnR3YXJlfSt7bWVtYmVyc2hpcF9zb2Z0d2FyZX0h XG5TdGRlcnI6IHtqb2luX2NtZC5zdGRlcnJ9IgorICAgICApCisgCisgICAgIGxlYXZlX2NtZCA9 IGNsaWVudC5yZWFsbS5sZWF2ZSgKK0BAIC0yNzksNyArMjczLDcgQEAgZGVmIHRlc3RfcmVhbG1f am9pbl9sZWF2ZV9jb21iaW5hdGlvbnMoCisgICAgICkKKyAKKyAgICAgYXNzZXJ0IGxlYXZlX2Nt ZC5yYyA9PSAwLCAoCistICAgICAgICBmIlJlYWxtIGxlYXZlIGZhaWxlZCBmb3Ige2NsaWVudF9z b2Z0d2FyZX0re21lbWJlcnNoaXBfc29mdHdhcmV9IVxuIiBmIlN0ZGVycjoge2xlYXZlX2NtZC5z dGRlcnJ9IgorKyAgICAgICAgZiJSZWFsbSBsZWF2ZSBmYWlsZWQgZm9yIHtjbGllbnRfc29mdHdh cmV9K3ttZW1iZXJzaGlwX3NvZnR3YXJlfSFcblN0ZGVycjoge2xlYXZlX2NtZC5zdGRlcnJ9Igor ICAgICApCisgCisgICAgIGlmIGNsaWVudF9zb2Z0d2FyZSA9PSAic3NzZCI6CitAQCAtNDYwLDcg KzQ1NCw5IEBAIGRlZiB0ZXN0X3JlYWxtX3JlbmV3X2tleXRhYihjbGllbnQ6IENsaWVudCwgcHJv dmlkZXI6IEdlbmVyaWNBRFByb3ZpZGVyKToKKyAgICAgIyBUZWFyZG93bgorICAgICBjbGllbnQu aG9zdC5jb25uLnJ1bigia2Rlc3Ryb3kiLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkKKyAgICAgY2xp ZW50LnJlYWxtLmxlYXZlKAorLSAgICAgICAgZG9tYWluPWRvbWFpbiwgdXNlcj1wcm92aWRlci5o b3N0LmFkbWludXNlciwgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAorKyAgICAgICAg ZG9tYWluPWRvbWFpbiwKKysgICAgICAgIHVzZXI9cHJvdmlkZXIuaG9zdC5hZG1pbnVzZXIsCisr ICAgICAgICBwYXNzd29yZD1wcm92aWRlci5ob3N0LmFkbWlucHcsCisgICAgICkKKyAKKyAKK0BA IC00OTIsNDIgKzQ4OCw4NCBAQCBkZWYgdGVzdF9yZWFsbV9qb2luX3ByZXN0YWdlZF9kZWxlZ2F0 ZWRfZXhwbGljaXRfb3UoY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBBRAorIAorICAgICB0cnk6 CisgICAgICAgICAjIENsZWFudXAgYW5kIGNyZWF0ZSBPVQorLSAgICAgICAgZm9yIGNtZCBpbiBb ZiJSZW1vdmUtQURVc2VyIC1JZGVudGl0eSAne0RFTEVHQVRFX1VTRVJ9JyAtQ29uZmlybTokZmFs c2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUiLAorLSAgICAgICAgICAgICAgICAgICAg ZiJSZW1vdmUtQURPcmdhbml6YXRpb25hbFVuaXQgLUlkZW50aXR5ICd7b3VfZG59JyAtUmVjdXJz aXZlIC1Db25maXJtOiRmYWxzZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSJdOgorLSAg ICAgICAgICAgIGVuYyA9IGJhc2U2NC5iNjRlbmNvZGUoY21kLmVuY29kZSgndXRmLTE2LWxlJykp LmRlY29kZSgndXRmLTgnKQorKyAgICAgICAgZm9yIGNtZCBpbiBbCisrICAgICAgICAgICAgZiJS ZW1vdmUtQURVc2VyIC1JZGVudGl0eSAne0RFTEVHQVRFX1VTRVJ9JyAtQ29uZmlybTokZmFsc2Ug LUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUiLAorKyAgICAgICAgICAgICgKKysgICAgICAg ICAgICAgICAgZiJSZW1vdmUtQURPcmdhbml6YXRpb25hbFVuaXQgLUlkZW50aXR5ICd7b3VfZG59 JyAiCisrICAgICAgICAgICAgICAgIGYiLVJlY3Vyc2l2ZSAtQ29uZmlybTokZmFsc2UgLUVycm9y QWN0aW9uIFNpbGVudGx5Q29udGludWUiCisrICAgICAgICAgICAgKSwKKysgICAgICAgIF06Cisr ICAgICAgICAgICAgZW5jID0gYmFzZTY0LmI2NGVuY29kZShjbWQuZW5jb2RlKCJ1dGYtMTYtbGUi KSkuZGVjb2RlKCJ1dGYtOCIpCisgICAgICAgICAgICAgcHJvdmlkZXIuaG9zdC5jb25uLnJ1bihm InBvd2Vyc2hlbGwuZXhlIC1FbmNvZGVkQ29tbWFuZCB7ZW5jfSIsIHJhaXNlX29uX2Vycm9yPUZh bHNlKQorIAorLSAgICAgICAgZW5jID0gYmFzZTY0LmI2NGVuY29kZShmIk5ldy1BRE9yZ2FuaXph dGlvbmFsVW5pdCAtTmFtZSAne09VX05BTUV9JyAtUGF0aCAne3Byb3ZpZGVyLmhvc3QubmFtaW5n X2NvbnRleHR9JyIuZW5jb2RlKCd1dGYtMTYtbGUnKSkuZGVjb2RlKCd1dGYtOCcpCisrICAgICAg ICBlbmMgPSBiYXNlNjQuYjY0ZW5jb2RlKAorKyAgICAgICAgICAgIGYiTmV3LUFET3JnYW5pemF0 aW9uYWxVbml0IC1OYW1lICd7T1VfTkFNRX0nIC1QYXRoICd7cHJvdmlkZXIuaG9zdC5uYW1pbmdf Y29udGV4dH0nIi5lbmNvZGUoInV0Zi0xNi1sZSIpCisrICAgICAgICApLmRlY29kZSgidXRmLTgi KQorICAgICAgICAgYXNzZXJ0IHByb3ZpZGVyLmhvc3QuY29ubi5ydW4oZiJwb3dlcnNoZWxsLmV4 ZSAtRW5jb2RlZENvbW1hbmQge2VuY30iLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkucmMgPT0gMAor IAorICAgICAgICAgIyBDcmVhdGUgZGVsZWdhdGVkIHVzZXIKKy0gICAgICAgIHBzID0gZiIkcHdk ID0gQ29udmVydFRvLVNlY3VyZVN0cmluZyAne0RFTEVHQVRFX1BBU1N9JyAtQXNQbGFpblRleHQg LUZvcmNlOyBOZXctQURVc2VyIC1OYW1lICd7REVMRUdBVEVfVVNFUn0nIC1TYW1BY2NvdW50TmFt ZSAne0RFTEVHQVRFX1VTRVJ9JyAtQWNjb3VudFBhc3N3b3JkICRwd2QgLUVuYWJsZWQgJHRydWUi CistICAgICAgICBlbmMgPSBiYXNlNjQuYjY0ZW5jb2RlKHBzLmVuY29kZSgndXRmLTE2LWxlJykp LmRlY29kZSgndXRmLTgnKQorKyAgICAgICAgcHMgPSAoCisrICAgICAgICAgICAgZiIkcHdkID0g Q29udmVydFRvLVNlY3VyZVN0cmluZyAne0RFTEVHQVRFX1BBU1N9JyAtQXNQbGFpblRleHQgLUZv cmNlOyAiCisrICAgICAgICAgICAgZiJOZXctQURVc2VyIC1OYW1lICd7REVMRUdBVEVfVVNFUn0n IC1TYW1BY2NvdW50TmFtZSAne0RFTEVHQVRFX1VTRVJ9JyAiCisrICAgICAgICAgICAgZiItQWNj b3VudFBhc3N3b3JkICRwd2QgLUVuYWJsZWQgJHRydWUiCisrICAgICAgICApCisrICAgICAgICBl bmMgPSBiYXNlNjQuYjY0ZW5jb2RlKHBzLmVuY29kZSgidXRmLTE2LWxlIikpLmRlY29kZSgidXRm LTgiKQorICAgICAgICAgYXNzZXJ0IHByb3ZpZGVyLmhvc3QuY29ubi5ydW4oZiJwb3dlcnNoZWxs LmV4ZSAtRW5jb2RlZENvbW1hbmQge2VuY30iLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkucmMgPT0g MAorIAorICAgICAgICAgIyBTZXR1cCBjbGllbnQKKyAgICAgICAgIGNsaWVudC5ob3N0LmNvbm4u cnVuKCJybSAtZiAvZXRjL2tyYjUua2V5dGFiIiwgcmFpc2Vfb25fZXJyb3I9RmFsc2UpCistICAg ICAgICBjbGllbnQuaG9zdC5jb25uLnJ1bihmImVjaG8gJ1tsaWJkZWZhdWx0c11cbiAgICBkZWZh dWx0X3JlYWxtID0ge3Byb3ZpZGVyLmhvc3QuZG9tYWluLnVwcGVyKCl9XG4gICAgZG5zX2xvb2t1 cF9yZWFsbSA9IHRydWVcbiAgICBkbnNfbG9va3VwX2tkYyA9IHRydWVcbicgPiAvZXRjL2tyYjUu Y29uZiIpCisrICAgICAgICBrcmI1X2NvbmYgPSAoCisrICAgICAgICAgICAgZiJlY2hvICdbbGli ZGVmYXVsdHNdXG4gICAgZGVmYXVsdF9yZWFsbSA9IHtwcm92aWRlci5ob3N0LmRvbWFpbi51cHBl cigpfVxuIgorKyAgICAgICAgICAgIGYiICAgIGRuc19sb29rdXBfcmVhbG0gPSB0cnVlXG4gICAg ZG5zX2xvb2t1cF9rZGMgPSB0cnVlXG4nID4gL2V0Yy9rcmI1LmNvbmYiCisrICAgICAgICApCisr ICAgICAgICBjbGllbnQuaG9zdC5jb25uLnJ1bihrcmI1X2NvbmYpCisgCisgICAgICAgICAjIFBy ZS1zdGFnZSBjb21wdXRlcgorLSAgICAgICAgcmVzdWx0ID0gY2xpZW50LmFkY2xpLnByZXNldF9j b21wdXRlcihkb21haW49cHJvdmlkZXIuaG9zdC5kb21haW4sIGxvZ2luX3VzZXI9cHJvdmlkZXIu aG9zdC5hZG1pbnVzZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwYXNzd29yZD1wcm92aWRlci5ob3N0LmFkbWlucHcsIGFyZ3M9WyItLXZlcmJvc2Ui LCBmIi0tZG9tYWluLW91PXtvdV9kbn0iLCBzaG9ydF9ob3N0bmFtZV0sIGtyYj1GYWxzZSkKKysg ICAgICAgIHJlc3VsdCA9IGNsaWVudC5hZGNsaS5wcmVzZXRfY29tcHV0ZXIoCisrICAgICAgICAg ICAgZG9tYWluPXByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAgICAgIGxvZ2luX3VzZXI9 cHJvdmlkZXIuaG9zdC5hZG1pbnVzZXIsCisrICAgICAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIu aG9zdC5hZG1pbnB3LAorKyAgICAgICAgICAgIGFyZ3M9WyItLXZlcmJvc2UiLCBmIi0tZG9tYWlu LW91PXtvdV9kbn0iLCBzaG9ydF9ob3N0bmFtZV0sCisrICAgICAgICAgICAga3JiPUZhbHNlLAor KyAgICAgICAgKQorICAgICAgICAgYXNzZXJ0IHJlc3VsdC5yYyA9PSAwLCBmIlByZS1zdGFnZSBm YWlsZWQ6IHtyZXN1bHQuc3RkZXJyfSIKKyAKKyAgICAgICAgICMgU3RyaXAgYXR0cmlidXRlcwor LSAgICAgICAgbGRpZiA9IGYiZG46IENOPXtzaG9ydF9ob3N0bmFtZX0se291X2RufVxuY2hhbmdl dHlwZTogbW9kaWZ5XG5kZWxldGU6IGROU0hvc3ROYW1lXG4tXG5kZWxldGU6IHNlcnZpY2VQcmlu Y2lwYWxOYW1lXG4tXG4iCisrICAgICAgICBsZGlmID0gKAorKyAgICAgICAgICAgIGYiZG46IENO PXtzaG9ydF9ob3N0bmFtZX0se291X2RufVxuY2hhbmdldHlwZTogbW9kaWZ5XG4iCisrICAgICAg ICAgICAgZiJkZWxldGU6IGROU0hvc3ROYW1lXG4tXG5kZWxldGU6IHNlcnZpY2VQcmluY2lwYWxO YW1lXG4tXG4iCisrICAgICAgICApCisgICAgICAgICBjbGllbnQuaG9zdC5jb25uLnJ1bihmImNh dCA+IC90bXAvY2xlYXJfYXR0cnMubGRpZiA8PCdFT0YnXG57bGRpZn1cbkVPRiIpCistICAgICAg ICByZXN1bHQgPSBjbGllbnQuaG9zdC5jb25uLnJ1bihmImxkYXBtb2RpZnkgLXggLUggbGRhcDov L3twcm92aWRlci5ob3N0Lmhvc3RuYW1lfSAtRCAne3Byb3ZpZGVyLmhvc3QuYWRtaW51c2VyfUB7 cHJvdmlkZXIuaG9zdC5kb21haW59JyAtdyAne3Byb3ZpZGVyLmhvc3QuYWRtaW5wd30nIC1mIC90 bXAvY2xlYXJfYXR0cnMubGRpZiIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKQorKyAgICAgICAgbGRh cF9jbWQgPSAoCisrICAgICAgICAgICAgZiJsZGFwbW9kaWZ5IC14IC1IIGxkYXA6Ly97cHJvdmlk ZXIuaG9zdC5ob3N0bmFtZX0gIgorKyAgICAgICAgICAgIGYiLUQgJ3twcm92aWRlci5ob3N0LmFk bWludXNlcn1Ae3Byb3ZpZGVyLmhvc3QuZG9tYWlufScgIgorKyAgICAgICAgICAgIGYiLXcgJ3tw cm92aWRlci5ob3N0LmFkbWlucHd9JyAtZiAvdG1wL2NsZWFyX2F0dHJzLmxkaWYiCisrICAgICAg ICApCisrICAgICAgICByZXN1bHQgPSBjbGllbnQuaG9zdC5jb25uLnJ1bihsZGFwX2NtZCwgcmFp c2Vfb25fZXJyb3I9RmFsc2UpCisgICAgICAgICBhc3NlcnQgcmVzdWx0LnJjIGluIFswLCAxNl0s IGYiU3RyaXAgYXR0cmlidXRlcyBmYWlsZWQ6IHtyZXN1bHQuc3RkZXJyfSIKKyAKKyAgICAgICAg ICMgRGVsZWdhdGUgcGVybWlzc2lvbnMKKy0gICAgICAgIHBzID0gZiIkQ29tcCA9IEdldC1BRENv bXB1dGVyIC1JZGVudGl0eSAne3Nob3J0X2hvc3RuYW1lfSc7ICRVc2VyID0gR2V0LUFEVXNlciAt SWRlbnRpdHkgJ3tERUxFR0FURV9VU0VSfSc7ICRBY2wgPSBHZXQtQWNsIC1QYXRoIFwiQUQ6JCgk Q29tcC5EaXN0aW5ndWlzaGVkTmFtZSlcIjsgJFJ1bGUgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJl Y3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnlBY2Nlc3NSdWxlKCRVc2VyLlNJRCwgJ1dyaXRl UHJvcGVydHksIEV4dGVuZGVkUmlnaHQnLCAnQWxsb3cnLCBbZ3VpZF0nMDAwMDAwMDAtMDAwMC0w MDAwLTAwMDAtMDAwMDAwMDAwMDAwJyk7ICRBY2wuQWRkQWNjZXNzUnVsZSgkUnVsZSk7IFNldC1B Y2wgLVBhdGggXCJBRDokKCRDb21wLkRpc3Rpbmd1aXNoZWROYW1lKVwiIC1BY2xPYmplY3QgJEFj bCIKKy0gICAgICAgIGVuYyA9IGJhc2U2NC5iNjRlbmNvZGUocHMuZW5jb2RlKCd1dGYtMTYtbGUn KSkuZGVjb2RlKCd1dGYtOCcpCisrICAgICAgICBwcyA9ICgKKysgICAgICAgICAgICBmIiRDb21w ID0gR2V0LUFEQ29tcHV0ZXIgLUlkZW50aXR5ICd7c2hvcnRfaG9zdG5hbWV9JzsgIgorKyAgICAg ICAgICAgIGYiJFVzZXIgPSBHZXQtQURVc2VyIC1JZGVudGl0eSAne0RFTEVHQVRFX1VTRVJ9Jzsg IgorKyAgICAgICAgICAgIGYnJEFjbCA9IEdldC1BY2wgLVBhdGggIkFEOiQoJENvbXAuRGlzdGlu Z3Vpc2hlZE5hbWUpIjsgJworKyAgICAgICAgICAgIGYiJFJ1bGUgPSBOZXctT2JqZWN0IFN5c3Rl bS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnlBY2Nlc3NSdWxlKCIKKysgICAgICAg ICAgICBmIiRVc2VyLlNJRCwgJ1dyaXRlUHJvcGVydHksIEV4dGVuZGVkUmlnaHQnLCAnQWxsb3cn LCAiCisrICAgICAgICAgICAgZiJbZ3VpZF0nMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAw MDAwMDAwJyk7ICIKKysgICAgICAgICAgICBmIiRBY2wuQWRkQWNjZXNzUnVsZSgkUnVsZSk7ICIK KysgICAgICAgICAgICBmJ1NldC1BY2wgLVBhdGggIkFEOiQoJENvbXAuRGlzdGluZ3Vpc2hlZE5h bWUpIiAtQWNsT2JqZWN0ICRBY2wnCisrICAgICAgICApCisrICAgICAgICBlbmMgPSBiYXNlNjQu YjY0ZW5jb2RlKHBzLmVuY29kZSgidXRmLTE2LWxlIikpLmRlY29kZSgidXRmLTgiKQorICAgICAg ICAgYXNzZXJ0IHByb3ZpZGVyLmhvc3QuY29ubi5ydW4oZiJwb3dlcnNoZWxsLmV4ZSAtRW5jb2Rl ZENvbW1hbmQge2VuY30iLCByYWlzZV9vbl9lcnJvcj1GYWxzZSkucmMgPT0gMAorIAorICAgICAg ICAgIyBKb2luIGRvbWFpbiB3aXRoIGRlbGVnYXRlZCB1c2VyCistICAgICAgICBqb2luX3Jlc3Vs dCA9IGNsaWVudC5yZWFsbS5qb2luKGRvbWFpbj1wcm92aWRlci5ob3N0LmRvbWFpbiwgdXNlcj1E RUxFR0FURV9VU0VSLCBwYXNzd29yZD1ERUxFR0FURV9QQVNTLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhcmdzPVsiLS1tZW1iZXJzaGlwLXNvZnR3YXJlPWFkY2xp IiwgIi0tdmVyYm9zZSIsIGYiLS1jb21wdXRlci1vdT17b3VfZG59Il0sIGtyYj1GYWxzZSkKKysg ICAgICAgIGpvaW5fcmVzdWx0ID0gY2xpZW50LnJlYWxtLmpvaW4oCisrICAgICAgICAgICAgZG9t YWluPXByb3ZpZGVyLmhvc3QuZG9tYWluLAorKyAgICAgICAgICAgIHVzZXI9REVMRUdBVEVfVVNF UiwKKysgICAgICAgICAgICBwYXNzd29yZD1ERUxFR0FURV9QQVNTLAorKyAgICAgICAgICAgIGFy Z3M9WyItLW1lbWJlcnNoaXAtc29mdHdhcmU9YWRjbGkiLCAiLS12ZXJib3NlIiwgZiItLWNvbXB1 dGVyLW91PXtvdV9kbn0iXSwKKysgICAgICAgICAgICBrcmI9RmFsc2UsCisrICAgICAgICApCisg ICAgICAgICBqb2luZWRfZG9tYWluID0gam9pbl9yZXN1bHQucmMgPT0gMAorICAgICAgICAgYXNz ZXJ0IGpvaW5fcmVzdWx0LnJjID09IDAsIGYiSm9pbiBmYWlsZWQ6IHtqb2luX3Jlc3VsdC5zdGRl cnJ9IgorICAgICAgICAgYXNzZXJ0ICJNb2RpZnlpbmcgY29tcHV0ZXIgYWNjb3VudDogZE5TSG9z dE5hbWUiIGluIGpvaW5fcmVzdWx0LnN0ZGVycgorQEAgLTU0MCw4ICs1NzgsMTMgQEAgZGVmIHRl c3RfcmVhbG1fam9pbl9wcmVzdGFnZWRfZGVsZWdhdGVkX2V4cGxpY2l0X291KGNsaWVudDogQ2xp ZW50LCBwcm92aWRlcjogQUQKKyAgICAgICAgICMgQ2xlYW51cAorICAgICAgICAgaWYgam9pbmVk X2RvbWFpbjoKKyAgICAgICAgICAgICB0cnk6CistICAgICAgICAgICAgICAgIGNsaWVudC5yZWFs bS5sZWF2ZShkb21haW49cHJvdmlkZXIuaG9zdC5kb21haW4sIHVzZXI9cHJvdmlkZXIuaG9zdC5h ZG1pbnVzZXIsIHBhc3N3b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5wdywgYXJncz1bIi0tcmVtb3Zl Il0pCistICAgICAgICAgICAgZXhjZXB0OgorKyAgICAgICAgICAgICAgICBjbGllbnQucmVhbG0u bGVhdmUoCisrICAgICAgICAgICAgICAgICAgICBkb21haW49cHJvdmlkZXIuaG9zdC5kb21haW4s CisrICAgICAgICAgICAgICAgICAgICB1c2VyPXByb3ZpZGVyLmhvc3QuYWRtaW51c2VyLAorKyAg ICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAorKyAgICAg ICAgICAgICAgICAgICAgYXJncz1bIi0tcmVtb3ZlIl0sCisrICAgICAgICAgICAgICAgICkKKysg ICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgICAgICBjbGllbnQuaG9z dC5jb25uLnJ1bihmInJlYWxtIGxlYXZlIHtwcm92aWRlci5ob3N0LmRvbWFpbn0iLCByYWlzZV9v bl9lcnJvcj1GYWxzZSkKKyAKKyAgICAgICAgIGNsaWVudC5ob3N0LmNvbm4ucnVuKCJybSAtZiAv ZXRjL2tyYjUua2V5dGFiIC90bXAvY2xlYXJfYXR0cnMubGRpZiIsIHJhaXNlX29uX2Vycm9yPUZh bHNlKQorQEAgLTU4Myw3ICs2MjYsNyBAQCBkZWYgdGVzdF9yZWFsbV9qb2luX2xlYXZlX2RlbGVn YXRlZF91c2VyKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogQUQpOgorICAgICBzaG9ydF9ob3N0 bmFtZSA9IGNsaWVudC5ob3N0Lmhvc3RuYW1lLnNwbGl0KCIuIilbMF0udXBwZXIoKQorIAorICAg ICAjIENyZWF0ZSBkZWxlZ2F0ZWQgdXNlciB1c2luZyB0ZXN0IGZyYW1ld29yaworLSAgICBkZWxl Z2F0ZV91c2VyID0gcHJvdmlkZXIudXNlcihERUxFR0FURV9VU0VSKS5hZGQocGFzc3dvcmQ9REVM RUdBVEVfUEFTUykKKysgICAgcHJvdmlkZXIudXNlcihERUxFR0FURV9VU0VSKS5hZGQocGFzc3dv cmQ9REVMRUdBVEVfUEFTUykKKyAKKyAgICAgIyBHcmFudCBwZXJtaXNzaW9ucyB0byBqb2luIGNv bXB1dGVycyBpbiB0aGUgZGVmYXVsdCBDb21wdXRlcnMgY29udGFpbmVyCisgICAgIHBzID0gKAor QEAgLTY2Myw3ICs3MDYsNyBAQCBkZWYgdGVzdF9yZWFsbV9qb2luX25vX2F1dG9tYXRpY19pZF9t YXBwaW5nKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogR2VuZXJpY0FEUAorICAgICBFWFBMSUNJ VF9HSUQgPSAxMDAwMQorIAorICAgICAjIENyZWF0ZSB0ZXN0IHVzZXIgd2l0aCBleHBsaWNpdCBV SUQvR0lECistICAgIHRlc3RfdXNlciA9IHByb3ZpZGVyLnVzZXIoVEVTVF9VU0VSKS5hZGQodWlk PUVYUExJQ0lUX1VJRCwgZ2lkPUVYUExJQ0lUX0dJRCkKKysgICAgcHJvdmlkZXIudXNlcihURVNU X1VTRVIpLmFkZCh1aWQ9RVhQTElDSVRfVUlELCBnaWQ9RVhQTElDSVRfR0lEKQorIAorICAgICAj IEpvaW4gZG9tYWluIHdpdGhvdXQgYXV0b21hdGljIElEIG1hcHBpbmcKKyAgICAgam9pbl9yZXN1 bHQgPSBjbGllbnQucmVhbG0uam9pbigKK0BAIC02NzcsNyArNzIwLDkgQEAgZGVmIHRlc3RfcmVh bG1fam9pbl9ub19hdXRvbWF0aWNfaWRfbWFwcGluZyhjbGllbnQ6IENsaWVudCwgcHJvdmlkZXI6 IEdlbmVyaWNBRFAKKyAgICAgIyBWZXJpZnkgU1NTRCBjb25maWd1cmF0aW9uIGhhcyBJRCBtYXBw aW5nIGRpc2FibGVkCisgICAgIHNzc2RfY29uZiA9IGNsaWVudC5ob3N0LmNvbm4ucnVuKCJjYXQg L2V0Yy9zc3NkL3Nzc2QuY29uZiIsIHJhaXNlX29uX2Vycm9yPUZhbHNlKQorICAgICBhc3NlcnQg c3NzZF9jb25mLnJjID09IDAsIGYiRmFpbGVkIHRvIHJlYWQgU1NTRCBjb25maWc6IHtzc3NkX2Nv bmYuc3RkZXJyfSEiCistICAgIGFzc2VydCAibGRhcF9pZF9tYXBwaW5nID0gRmFsc2UiIGluIHNz c2RfY29uZi5zdGRvdXQsIGYiSUQgbWFwcGluZyBub3QgZGlzYWJsZWQgaW4gU1NTRCBjb25maWc6 IHtzc3NkX2NvbmYuc3Rkb3V0fSEiCisrICAgIGFzc2VydCAibGRhcF9pZF9tYXBwaW5nID0gRmFs c2UiIGluIHNzc2RfY29uZi5zdGRvdXQsICgKKysgICAgICAgIGYiSUQgbWFwcGluZyBub3QgZGlz YWJsZWQgaW4gU1NTRCBjb25maWc6IHtzc3NkX2NvbmYuc3Rkb3V0fSEiCisrICAgICkKKyAKKyAg ICAgIyBMb29rdXAgdGVzdCB1c2VyIGFuZCB2ZXJpZnkgZXhwbGljaXQgVUlEL0dJRCAocmVhbG1k IHJlcXVpcmVzIGZ1bGx5LXF1YWxpZmllZCBuYW1lcykKKyAgICAgcmVzdWx0ID0gY2xpZW50LnRv b2xzLmlkKGYie1RFU1RfVVNFUn1Ae3Byb3ZpZGVyLmhvc3QuZG9tYWlufSIpCitkaWZmIC0tZ2l0 IGEvdGVzdHMvdG9wb2xvZ3kucHkgYi90ZXN0cy90b3BvbG9neS5weQoraW5kZXggN2Q4NTkxMC4u NWE2MGY4ZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3RvcG9sb2d5LnB5CisrKysgYi90ZXN0cy90b3Bv bG9neS5weQorQEAgLTYsOCArNiw4IEBAIGZyb20gZW51bSBpbXBvcnQgdW5pcXVlCisgZnJvbSB0 eXBpbmcgaW1wb3J0IGZpbmFsCisgCisgZnJvbSBweXRlc3RfbWggaW1wb3J0IEtub3duVG9wb2xv Z3lCYXNlLCBLbm93blRvcG9sb2d5R3JvdXBCYXNlLCBUb3BvbG9neSwgVG9wb2xvZ3lEb21haW4K Ky0KKyBmcm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsuY29uZmlnIGltcG9ydCBTU1NEVG9wb2xvZ3lN YXJrCisrCisgZnJvbSAudG9wb2xvZ3lfY29udHJvbGxlcnMgaW1wb3J0ICgKKyAgICAgQURUb3Bv bG9neUNvbnRyb2xsZXIsCisgICAgIElQQVRvcG9sb2d5Q29udHJvbGxlciwKK2RpZmYgLS1naXQg YS90ZXN0cy90b3BvbG9neV9jb250cm9sbGVycy5weSBiL3Rlc3RzL3RvcG9sb2d5X2NvbnRyb2xs ZXJzLnB5CitpbmRleCBhYjE2OGYyLi40ZWM5NWE5IDEwMDY0NAorLS0tIGEvdGVzdHMvdG9wb2xv Z3lfY29udHJvbGxlcnMucHkKKysrKyBiL3Rlc3RzL3RvcG9sb2d5X2NvbnRyb2xsZXJzLnB5CitA QCAtMSwxNCArMSwxMSBAQAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYW5ub3RhdGlvbnMKKyAK KyBmcm9tIHB5dGVzdF9taCBpbXBvcnQgQmFja3VwVG9wb2xvZ3lDb250cm9sbGVyCistZnJvbSBw eXRlc3RfbWguY29ubiBpbXBvcnQgUHJvY2Vzc1Jlc3VsdAorLQorIGZyb20gc3NzZF90ZXN0X2Zy YW1ld29yay5jb25maWcgaW1wb3J0IFNTU0RNdWx0aWhvc3RDb25maWcKKyBmcm9tIHNzc2RfdGVz dF9mcmFtZXdvcmsuaG9zdHMuYWQgaW1wb3J0IEFESG9zdAorIGZyb20gc3NzZF90ZXN0X2ZyYW1l d29yay5ob3N0cy5jbGllbnQgaW1wb3J0IENsaWVudEhvc3QKKy1mcm9tIHNzc2RfdGVzdF9mcmFt ZXdvcmsuaG9zdHMuc2FtYmEgaW1wb3J0IFNhbWJhSG9zdAorIGZyb20gc3NzZF90ZXN0X2ZyYW1l d29yay5ob3N0cy5pcGEgaW1wb3J0IElQQUhvc3QKKy1mcm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsu bWlzYy5zc2ggaW1wb3J0IHJldHJ5X2NvbW1hbmQKKytmcm9tIHNzc2RfdGVzdF9mcmFtZXdvcmsu aG9zdHMuc2FtYmEgaW1wb3J0IFNhbWJhSG9zdAorIAorIF9fYWxsX18gPSBbCisgICAgICJBRFRv cG9sb2d5Q29udHJvbGxlciIsCistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAyMC1UZXN0 cy1yZWFsbWQtdGVzdGNhc2Utc2V0LTgucGF0Y2ggYi8wMDIwLVRlc3RzLXJlYWxtZC10ZXN0Y2Fz ZS1zZXQtOC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmJiNWE5 Ci0tLSAvZGV2L251bGwKKysrIGIvMDAyMC1UZXN0cy1yZWFsbWQtdGVzdGNhc2Utc2V0LTgucGF0 Y2gKQEAgLTAsMCArMSw0MDAgQEAKK0Zyb20gYzBjOGY2YjFlMTM0N2VlNzVjODZlZTA2NTc5Y2Ni NGI4NmI1ZTUzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNocmlkaGFyIEdhZGVr YXIgPHNocmlkaGFyLmFsd2F5c0BnbWFpbC5jb20+CitEYXRlOiBUaHUsIDIzIEFwciAyMDI2IDE1 OjQyOjIyICswNTMwCitTdWJqZWN0OiBbUEFUQ0ggMjAvMjBdIFRlc3RzOiByZWFsbWQgdGVzdGNh c2Ugc2V0IDgKKworQWRkZWQgZm9sbG93aW5nIHNjZW5hcmlvczoKKyAxLiB3aXRoIGByZWFsbSBq b2luYCBwb3B1bGF0ZSBPUy1uYW1lLCBvcy12ZXJzaW9uIGF0dHJpYnV0ZXMKKyAyLiByZWFsbSBq b2luIHdpdGggcXVhbGlmaWVkLW5hbWVzIGRpc2FibGVkIHVzaW5nIHdpbmJpbmQKKyAzLiByZWFs bSBqb2luIHdpdGggcXVhbGlmaWVkLW5hbWVzIGRpc2FibGVkCisgNC4gcmVhbG0gam9pbiB3aXRo IG1vZGlmaWVkIGRlZmF1bHQtaG9tZSBhbmQgZGVmYXVsdC1zaGVsbAorCitTaWduZWQtb2ZmLWJ5 OiBTaHJpZGhhciBHYWRla2FyIDxzaHJpZGhhci5hbHdheXNAZ21haWwuY29tPgorLS0tCisgdGVz dHMvdGVzdF9yZWFsbWQucHkgICAgICAgICAgfCAzMTkgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKworIHRlc3RzL3RvcG9sb2d5X2NvbnRyb2xsZXJzLnB5IHwgIDIxICsrLQorIDIg ZmlsZXMgY2hhbmdlZCwgMzM4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS90ZXN0cy90ZXN0X3JlYWxtZC5weSBiL3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CitpbmRl eCBmNGU4ZjRhLi44YzRiNDc1IDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9yZWFsbWQucHkKKysr KyBiL3Rlc3RzL3Rlc3RfcmVhbG1kLnB5CitAQCAtNCw2ICs0LDcgQEAgZnJvbSBfX2Z1dHVyZV9f IGltcG9ydCBhbm5vdGF0aW9ucworIAorIGltcG9ydCBiYXNlNjQKKyBpbXBvcnQgcmUKKytpbXBv cnQgdGltZQorIGltcG9ydCB1dWlkCisgCisgaW1wb3J0IHB5dGVzdAorQEAgLTczMSw2ICs3MzIs NjUgQEAgZGVmIHRlc3RfcmVhbG1fam9pbl9ub19hdXRvbWF0aWNfaWRfbWFwcGluZyhjbGllbnQ6 IENsaWVudCwgcHJvdmlkZXI6IEdlbmVyaWNBRFAKKyAgICAgYXNzZXJ0IHJlc3VsdC5ncm91cC5p ZCA9PSBFWFBMSUNJVF9HSUQsIGYiRXhwZWN0ZWQgR0lEIHtFWFBMSUNJVF9HSUR9LCBnb3Qge3Jl c3VsdC5ncm91cC5pZH0hIgorIAorIAorK0BweXRlc3QubWFyay5pbXBvcnRhbmNlKCJoaWdoIikK KytAcHl0ZXN0Lm1hcmsudG9wb2xvZ3koS25vd25Ub3BvbG9neUdyb3VwLkFueUFEKQorK2RlZiB0 ZXN0X3JlYWxtX2pvaW5fY3VzdG9tX2NvbXB1dGVyX2FuZF9vc19hdHRyaWJ1dGVzKGNsaWVudDog Q2xpZW50LCBwcm92aWRlcjogR2VuZXJpY0FEUHJvdmlkZXIpOgorKyAgICAiIiIKKysgICAgOnRp dGxlOiByZWFsbSBqb2luIHdpdGggY3VzdG9tIGNvbXB1dGVyLW5hbWUsIG9zLW5hbWUsIGFuZCBv cy12ZXJzaW9uCisrICAgIDpzdGVwczoKKysgICAgICAgIDEuIEpvaW4gZG9tYWluIHdpdGggLS1j b21wdXRlci1uYW1lLCAtLW9zLW5hbWUsIGFuZCAtLW9zLXZlcnNpb24gcGFyYW1ldGVycworKyAg ICAgICAgMi4gVXNlIGFkY2xpIHNob3ctY29tcHV0ZXIgdG8gcmV0cmlldmUgY29tcHV0ZXIgb2Jq ZWN0IGF0dHJpYnV0ZXMgZnJvbSBBRAorKyAgICAgICAgMy4gVmVyaWZ5IGNvbXB1dGVyIG5hbWUs IG9wZXJhdGluZ1N5c3RlbSwgYW5kIG9wZXJhdGluZ1N5c3RlbVZlcnNpb24gYXJlIHNldCBjb3Jy ZWN0bHkKKysgICAgICAgIDQuIExlYXZlIGRvbWFpbiB3aXRoIC0tcmVtb3ZlIHRvIGNsZWFudXAK KysgICAgOmV4cGVjdGVkcmVzdWx0czoKKysgICAgICAgIDEuIERvbWFpbiBqb2luIHN1Y2NlZWRz IHdpdGggY3VzdG9tIHBhcmFtZXRlcnMKKysgICAgICAgIDIuIGFkY2xpIHNob3ctY29tcHV0ZXIg cmV0cmlldmVzIGNvbXB1dGVyIG9iamVjdCBhdHRyaWJ1dGVzIHN1Y2Nlc3NmdWxseQorKyAgICAg ICAgMy4gQWxsIGN1c3RvbSBhdHRyaWJ1dGVzIGFyZSBzZXQgY29ycmVjdGx5IChjb21wdXRlciBu YW1lLCBvcGVyYXRpbmdTeXN0ZW0sIG9wZXJhdGluZ1N5c3RlbVZlcnNpb24pCisrICAgICAgICA0 LiBEb21haW4gbGVhdmUgc3VjY2VlZHMgYW5kIGNvbXB1dGVyIG9iamVjdCBpcyByZW1vdmVkCisr ICAgIDpjdXN0b21lcnNjZW5hcmlvOiBGYWxzZQorKyAgICAiIiIKKysgICAgY3VzdG9tX2NvbXB1 dGVyX25hbWUgPSAidGVzdHBjLSIgKyBzdHIodXVpZC51dWlkNCgpKVs6OF0KKysgICAgY3VzdG9t X29zX25hbWUgPSAiVGVzdE9TLUxpbnV4IgorKyAgICBjdXN0b21fb3NfdmVyc2lvbiA9ICIxLjIu My40LjUiCisrCisrICAgIGRvbWFpbiA9IHByb3ZpZGVyLmhvc3QuZG9tYWluCisrCisrICAgICMg Sm9pbiB3aXRoIGFsbCBjdXN0b20gYXR0cmlidXRlcworKyAgICBqb2luX3Jlc3VsdCA9IGNsaWVu dC5yZWFsbS5qb2luKAorKyAgICAgICAgZG9tYWluPWRvbWFpbiwKKysgICAgICAgIHVzZXI9cHJv dmlkZXIuaG9zdC5hZG1pbnVzZXIsCisrICAgICAgICBwYXNzd29yZD1wcm92aWRlci5ob3N0LmFk bWlucHcsCisrICAgICAgICBhcmdzPVsKKysgICAgICAgICAgICBmIi0tY29tcHV0ZXItbmFtZT17 Y3VzdG9tX2NvbXB1dGVyX25hbWV9IiwKKysgICAgICAgICAgICBmIi0tb3MtbmFtZT17Y3VzdG9t X29zX25hbWV9IiwKKysgICAgICAgICAgICBmIi0tb3MtdmVyc2lvbj17Y3VzdG9tX29zX3ZlcnNp b259IiwKKysgICAgICAgICAgICAiLS12ZXJib3NlIiwKKysgICAgICAgIF0sCisrICAgICAgICBr cmI9RmFsc2UsCisrICAgICkKKysKKysgICAgYXNzZXJ0IGpvaW5fcmVzdWx0LnJjID09IDAsIGYi cmVhbG0gam9pbiBmYWlsZWQ6IHtqb2luX3Jlc3VsdC5zdGRlcnJ9IgorKyAgICBhc3NlcnQgIlN1 Y2Nlc3NmdWxseSBlbnJvbGxlZCBtYWNoaW5lIGluIHJlYWxtIiBpbiBqb2luX3Jlc3VsdC5zdGRl cnIsICJyZWFsbSBqb2luIHN1Y2Nlc3MgbWVzc2FnZSBub3QgZm91bmQiCisrCisrICAgICMgUXVl cnkgY29tcHV0ZXIgb2JqZWN0IHVzaW5nIGFkY2xpIHNob3ctY29tcHV0ZXIKKysgICAgc2hvd19y ZXN1bHQgPSBjbGllbnQuYWRjbGkuc2hvd19jb21wdXRlcigKKysgICAgICAgIGRvbWFpbj1kb21h aW4sCisrICAgICAgICBsb2dpbl91c2VyPXByb3ZpZGVyLmhvc3QuYWRtaW51c2VyLAorKyAgICAg ICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAorKyAgICAgICAgYXJncz1bIi0tdmVy Ym9zZSIsIGN1c3RvbV9jb21wdXRlcl9uYW1lXSwKKysgICAgICAgIGtyYj1GYWxzZSwKKysgICAg KQorKworKyAgICBhc3NlcnQgc2hvd19yZXN1bHQucmMgPT0gMCwgZiJhZGNsaSBzaG93LWNvbXB1 dGVyIGZhaWxlZDoge3Nob3dfcmVzdWx0LnN0ZGVycn0hIgorKworKyAgICAjIFZlcmlmeSBhbGwg Y3VzdG9tIGF0dHJpYnV0ZXMgaW4gb3V0cHV0IChjaGVjayBib3RoIHN0ZG91dCBhbmQgc3RkZXJy KQorKyAgICBvdXRwdXQgPSAoc2hvd19yZXN1bHQuc3Rkb3V0ICsgc2hvd19yZXN1bHQuc3RkZXJy KS5sb3dlcigpCisrCisrICAgIGFzc2VydCBjdXN0b21fY29tcHV0ZXJfbmFtZS5sb3dlcigpIGlu IG91dHB1dCwgZiJDb21wdXRlciBuYW1lICd7Y3VzdG9tX2NvbXB1dGVyX25hbWV9JyBub3QgZm91 bmQgaW4gQUQhIgorKyAgICBhc3NlcnQgY3VzdG9tX29zX25hbWUubG93ZXIoKSBpbiBvdXRwdXQs IGYib3BlcmF0aW5nU3lzdGVtICd7Y3VzdG9tX29zX25hbWV9JyBub3QgZm91bmQgaW4gQUQhIgor KyAgICBhc3NlcnQgY3VzdG9tX29zX3ZlcnNpb24ubG93ZXIoKSBpbiBvdXRwdXQsIGYib3BlcmF0 aW5nU3lzdGVtVmVyc2lvbiAne2N1c3RvbV9vc192ZXJzaW9ufScgbm90IGZvdW5kIGluIEFEISIK KysKKysKKyBAcHl0ZXN0Lm1hcmsuaW1wb3J0YW5jZSgiaGlnaCIpCisgQHB5dGVzdC5tYXJrLnRv cG9sb2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlBRCkKKyBkZWYgdGVzdF9yZWFsbV9qb2luX3dp dGhvdXRfYXV0aGVudGljYXRpb24oY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBHZW5lcmljQURQ cm92aWRlcik6CitAQCAtNzYwLDMgKzgyMCwyNjIgQEAgZGVmIHRlc3RfcmVhbG1fam9pbl93aXRo b3V0X2F1dGhlbnRpY2F0aW9uKGNsaWVudDogQ2xpZW50LCBwcm92aWRlcjogR2VuZXJpY0FEUHIK KyAgICAgICAgIGtleXdvcmQgaW4gZXJyb3Jfb3V0cHV0CisgICAgICAgICBmb3Iga2V5d29yZCBp biBbInBhc3N3b3JkIiwgImNyZWRlbnRpYWwiLCAiYXV0aGVudGljYXRpb24iLCAiZmFpbGVkIiwg InBlcm1pc3Npb24iLCAiaW52YWxpZCIsICJub3QgZm91bmQiXQorICAgICApLCBmIkV4cGVjdGVk IGF1dGhlbnRpY2F0aW9uIGVycm9yIGJ1dCBnb3Q6IHtqb2luX3Jlc3VsdC5zdGRlcnJ9ISIKKysK KysKKytAcHl0ZXN0Lm1hcmsuaW1wb3J0YW5jZSgiaGlnaCIpCisrQHB5dGVzdC5tYXJrLnRvcG9s b2d5KEtub3duVG9wb2xvZ3lHcm91cC5BbnlBRCkKKytkZWYgdGVzdF9yZWFsbV9qb2luX21vZGlm aWVkX2RlZmF1bHRfaG9tZV9hbmRfc2hlbGwoY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBHZW5l cmljQURQcm92aWRlcik6CisrICAgICIiIgorKyAgICA6dGl0bGU6IHJlYWxtIGpvaW4gd2l0aCBt b2RpZmllZCBkZWZhdWx0LWhvbWUgYW5kIGRlZmF1bHQtc2hlbGwKKysgICAgOnNldHVwOgorKyAg ICAgICAgMS4gQ2xpZW50IGFuZCBBRCBkb21haW4gYXJlIGF2YWlsYWJsZQorKyAgICA6c3RlcHM6 CisrICAgICAgICAxLiBDb25maWd1cmUgL2V0Yy9yZWFsbWQuY29uZiB3aXRoIGN1c3RvbSBkZWZh dWx0LWhvbWUgYW5kIGRlZmF1bHQtc2hlbGwKKysgICAgICAgIDIuIFJlc3RhcnQgcmVhbG1kIHNl cnZpY2UgdG8gYXBwbHkgY29uZmlndXJhdGlvbgorKyAgICAgICAgMy4gSm9pbiBkb21haW4KKysg ICAgICAgIDQuIENyZWF0ZSBhIHRlc3QgdXNlciBvbiBBRAorKyAgICAgICAgNS4gUXVlcnkgdXNl ciBpbmZvcm1hdGlvbiB3aXRoIGdldGVudCBwYXNzd2QKKysgICAgICAgIDYuIFZlcmlmeSBob21l IGRpcmVjdG9yeSBtYXRjaGVzIGN1c3RvbSBwYXRoIHBhdHRlcm4KKysgICAgICAgIDcuIFZlcmlm eSBzaGVsbCBtYXRjaGVzIGN1c3RvbSBzZXR0aW5nCisrICAgICAgICA4LiBWZXJpZnkgc3NzZC5j b25mIGNvbnRhaW5zIHRoZSBjdXN0b20gc2V0dGluZ3MKKysgICAgOmV4cGVjdGVkcmVzdWx0czoK KysgICAgICAgIDEuIENvbmZpZ3VyYXRpb24gZmlsZSBjcmVhdGVkIHN1Y2Nlc3NmdWxseQorKyAg ICAgICAgMi4gcmVhbG1kIHNlcnZpY2UgcmVzdGFydHMgc3VjY2Vzc2Z1bGx5CisrICAgICAgICAz LiBEb21haW4gam9pbiBzdWNjZWVkcworKyAgICAgICAgNC4gVGVzdCB1c2VyIGNyZWF0ZWQgc3Vj Y2Vzc2Z1bGx5CisrICAgICAgICA1LiBnZXRlbnQgcmV0dXJucyB1c2VyIGluZm9ybWF0aW9uCisr ICAgICAgICA2LiBVc2VyIGhvbWUgZGlyZWN0b3J5IHVzZXMgY3VzdG9tIHBhdGg6IC9ob21lLzxk b21haW4+L3Rlc3QvPHVzZXI+CisrICAgICAgICA3LiBVc2VyIHNoZWxsIGlzIC9iaW4vc2gKKysg ICAgICAgIDguIHNzc2QuY29uZiBjb250YWlucyBkZWZhdWx0X3NoZWxsIGFuZCBmYWxsYmFja19o b21lZGlyIHNldHRpbmdzCisrICAgIDpjdXN0b21lcnNjZW5hcmlvOiBGYWxzZQorKyAgICAiIiIK KysgICAgZG9tYWluID0gcHJvdmlkZXIuaG9zdC5kb21haW4KKysgICAgY3VzdG9tX2hvbWUgPSAi L2hvbWUvJUQvdGVzdC8lVSIKKysgICAgY3VzdG9tX3NoZWxsID0gIi9iaW4vc2giCisrCisrICAg ICMgQ29uZmlndXJlIC9ldGMvcmVhbG1kLmNvbmYgd2l0aCBjdXN0b20gaG9tZSBhbmQgc2hlbGwK KysgICAgcmVhbG1kX2NvbmYgPSBmIiIiW3VzZXJzXQorK2RlZmF1bHQtaG9tZSA9IHtjdXN0b21f aG9tZX0KKytkZWZhdWx0LXNoZWxsID0ge2N1c3RvbV9zaGVsbH0KKysiIiIKKysgICAgY2xpZW50 LmZzLndyaXRlKCIvZXRjL3JlYWxtZC5jb25mIiwgcmVhbG1kX2NvbmYpCisrCisrICAgICMgUmVz dGFydCByZWFsbWQgc2VydmljZSB0byBhcHBseSBjb25maWd1cmF0aW9uCisrICAgIGNsaWVudC5z dmMucmVzdGFydCgicmVhbG1kLnNlcnZpY2UiKQorKworKyAgICAjIEpvaW4gZG9tYWluCisrICAg IGpvaW5fcmVzdWx0ID0gY2xpZW50LnJlYWxtLmpvaW4oCisrICAgICAgICBkb21haW49ZG9tYWlu LAorKyAgICAgICAgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwKKysgICAgICAgIHBhc3N3 b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5wdywKKysgICAgICAgIGFyZ3M9WyItLXZlcmJvc2UiXSwK KysgICAgICAgIGtyYj1GYWxzZSwKKysgICAgKQorKworKyAgICBhc3NlcnQgam9pbl9yZXN1bHQu cmMgPT0gMCwgZiJyZWFsbSBqb2luIGZhaWxlZDoge2pvaW5fcmVzdWx0LnN0ZGVycn0iCisrICAg IGFzc2VydCAiU3VjY2Vzc2Z1bGx5IGVucm9sbGVkIG1hY2hpbmUgaW4gcmVhbG0iIGluIGpvaW5f cmVzdWx0LnN0ZGVyciwgInJlYWxtIGpvaW4gc3VjY2VzcyBtZXNzYWdlIG5vdCBmb3VuZCIKKysK KysgICAgIyBDcmVhdGUgYSB0ZXN0IHVzZXIgb24gQUQgdG8gdmVyaWZ5CisrICAgIHVzZXIgPSBw cm92aWRlci51c2VyKCJ0ZXN0dXNlcjEiKS5hZGQoKQorKworKyAgICAjIFF1ZXJ5IHVzZXIgaW5m b3JtYXRpb24KKysgICAgdXNlcl9xdWVyeSA9IGYie3VzZXIubmFtZX1Ae2RvbWFpbn0iCisrICAg IGdldGVudF9yZXN1bHQgPSBjbGllbnQudG9vbHMuZ2V0ZW50LnBhc3N3ZCh1c2VyX3F1ZXJ5KQor KworKyAgICBhc3NlcnQgZ2V0ZW50X3Jlc3VsdCBpcyBub3QgTm9uZSwgZiJnZXRlbnQgcGFzc3dk IGZhaWxlZCBmb3IgdXNlciAne3VzZXJfcXVlcnl9JyIKKysKKysgICAgIyBWZXJpZnkgaG9tZSBk aXJlY3RvcnkgYW5kIHNoZWxsIGluIGdldGVudCBvdXRwdXQKKysgICAgZXhwZWN0ZWRfaG9tZSA9 IGYiL2hvbWUve2RvbWFpbn0vdGVzdC97dXNlci5uYW1lfSIKKysKKysgICAgYXNzZXJ0IGdldGVu dF9yZXN1bHQuaG9tZSA9PSBleHBlY3RlZF9ob21lLCAoCisrICAgICAgICBmIkN1c3RvbSBob21l IGRpcmVjdG9yeSBtaXNtYXRjaDogZXhwZWN0ZWQgJ3tleHBlY3RlZF9ob21lfScsIGdvdCAne2dl dGVudF9yZXN1bHQuaG9tZX0nIgorKyAgICApCisrICAgIGFzc2VydCBnZXRlbnRfcmVzdWx0LnNo ZWxsID09IGN1c3RvbV9zaGVsbCwgKAorKyAgICAgICAgZiJDdXN0b20gc2hlbGwgbWlzbWF0Y2g6 IGV4cGVjdGVkICd7Y3VzdG9tX3NoZWxsfScsIGdvdCAne2dldGVudF9yZXN1bHQuc2hlbGx9JyIK KysgICAgKQorKworKyAgICAjIFZlcmlmeSBzc3NkLmNvbmYgY29udGFpbnMgdGhlIGN1c3RvbSBz ZXR0aW5ncworKyAgICBzc3NkX2NvbmYgPSBjbGllbnQuZnMucmVhZCgiL2V0Yy9zc3NkL3Nzc2Qu Y29uZiIpCisrCisrICAgIGFzc2VydCAiZGVmYXVsdF9zaGVsbCA9IC9iaW4vc2giIGluIHNzc2Rf Y29uZiwgImRlZmF1bHRfc2hlbGwgbm90IGZvdW5kIGluIHNzc2QuY29uZiIKKysgICAgYXNzZXJ0 ICJmYWxsYmFja19ob21lZGlyID0gL2hvbWUvJWQvdGVzdC8ldSIgaW4gc3NzZF9jb25mLCAiZmFs bGJhY2tfaG9tZWRpciBub3QgZm91bmQgaW4gc3NzZC5jb25mIgorKworKworK0BweXRlc3QubWFy ay5pbXBvcnRhbmNlKCJoaWdoIikKKytAcHl0ZXN0Lm1hcmsudG9wb2xvZ3koS25vd25Ub3BvbG9n eUdyb3VwLkFueUFEKQorK2RlZiB0ZXN0X3JlYWxtX2pvaW5fcXVhbGlmaWVkX25hbWVzX29mZihj bGllbnQ6IENsaWVudCwgcHJvdmlkZXI6IEdlbmVyaWNBRFByb3ZpZGVyKToKKysgICAgIiIiCisr ICAgIDp0aXRsZTogcmVhbG0gam9pbiB3aXRoIHF1YWxpZmllZC1uYW1lcyBkaXNhYmxlZAorKyAg ICA6c2V0dXA6CisrICAgICAgICAxLiBDbGllbnQgYW5kIEFEIGRvbWFpbiBhcmUgYXZhaWxhYmxl CisrICAgIDpzdGVwczoKKysgICAgICAgIDEuIENvbmZpZ3VyZSAvZXRjL3JlYWxtZC5jb25mIHdp dGggZnVsbHktcXVhbGlmaWVkLW5hbWVzID0gbm8KKysgICAgICAgIDIuIFJlc3RhcnQgcmVhbG1k IHNlcnZpY2UgdG8gYXBwbHkgY29uZmlndXJhdGlvbgorKyAgICAgICAgMy4gSm9pbiBkb21haW4g d2l0aG91dCBzcGVjaWZ5aW5nIGNsaWVudC1zb2Z0d2FyZQorKyAgICAgICAgNC4gVmVyaWZ5IHJl YWxtIGxpc3Qgc2hvd3MgbG9naW4tZm9ybWF0czogJVUgKHVucXVhbGlmaWVkKQorKyAgICAgICAg NS4gQ3JlYXRlIHRlc3QgdXNlciBvbiBBRAorKyAgICAgICAgNi4gUXVlcnkgdXNlciB3aXRob3V0 IEBkb21haW4gc3VmZml4IHVzaW5nIGdldGVudAorKyAgICAgICAgNy4gUXVlcnkgZ3JvdXAgd2l0 aG91dCBkb21haW4gcXVhbGlmaWNhdGlvbgorKyAgICA6ZXhwZWN0ZWRyZXN1bHRzOgorKyAgICAg ICAgMS4gQ29uZmlndXJhdGlvbiBmaWxlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5CisrICAgICAgICAy LiByZWFsbWQgc2VydmljZSByZXN0YXJ0cyBzdWNjZXNzZnVsbHkKKysgICAgICAgIDMuIERvbWFp biBqb2luIHN1Y2NlZWRzCisrICAgICAgICA0LiByZWFsbSBsaXN0IHNob3dzIGxvZ2luLWZvcm1h dHM6ICVVIChub3QgJVVAJUQpCisrICAgICAgICA1LiBUZXN0IHVzZXIgY3JlYXRlZCBzdWNjZXNz ZnVsbHkKKysgICAgICAgIDYuIFVzZXJzIGNhbiBiZSBxdWVyaWVkIHdpdGhvdXQgQGRvbWFpbiBz dWZmaXgKKysgICAgICAgIDcuIEdyb3VwcyBjYW4gYmUgcXVlcmllZCB3aXRob3V0IGRvbWFpbiBx dWFsaWZpY2F0aW9uCisrICAgIDpjdXN0b21lcnNjZW5hcmlvOiBGYWxzZQorKyAgICAiIiIKKysg ICAgZG9tYWluID0gcHJvdmlkZXIuaG9zdC5kb21haW4KKysKKysgICAgIyBDb25maWd1cmUgL2V0 Yy9yZWFsbWQuY29uZiB0byBkaXNhYmxlIGZ1bGx5LXF1YWxpZmllZC1uYW1lcworKyAgICByZWFs bWRfY29uZiA9IGYiIiJbe2RvbWFpbn1dCisrZnVsbHktcXVhbGlmaWVkLW5hbWVzID0gbm8KKysi IiIKKysgICAgY2xpZW50LmZzLndyaXRlKCIvZXRjL3JlYWxtZC5jb25mIiwgcmVhbG1kX2NvbmYp CisrCisrICAgICMgUmVzdGFydCByZWFsbWQgc2VydmljZSB0byBhcHBseSBjb25maWd1cmF0aW9u CisrICAgIGNsaWVudC5zdmMucmVzdGFydCgicmVhbG1kLnNlcnZpY2UiKQorKworKyAgICBqb2lu ZWQgPSBGYWxzZQorKyAgICB0cnk6CisrICAgICAgICAjIEpvaW4gZG9tYWluCisrICAgICAgICBq b2luX3Jlc3VsdCA9IGNsaWVudC5yZWFsbS5qb2luKAorKyAgICAgICAgICAgIGRvbWFpbj1kb21h aW4sCisrICAgICAgICAgICAgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwKKysgICAgICAg ICAgICBwYXNzd29yZD1wcm92aWRlci5ob3N0LmFkbWlucHcsCisrICAgICAgICAgICAgYXJncz1b Ii0tdmVyYm9zZSJdLAorKyAgICAgICAgICAgIGtyYj1GYWxzZSwKKysgICAgICAgICkKKysKKysg ICAgICAgIGFzc2VydCBqb2luX3Jlc3VsdC5yYyA9PSAwLCBmInJlYWxtIGpvaW4gZmFpbGVkOiB7 am9pbl9yZXN1bHQuc3RkZXJyfSIKKysgICAgICAgIGFzc2VydCAiU3VjY2Vzc2Z1bGx5IGVucm9s bGVkIG1hY2hpbmUgaW4gcmVhbG0iIGluIGpvaW5fcmVzdWx0LnN0ZGVyciwgInJlYWxtIGpvaW4g c3VjY2VzcyBtZXNzYWdlIG5vdCBmb3VuZCIKKysgICAgICAgIGpvaW5lZCA9IFRydWUKKysKKysg ICAgICAgICMgR2l2ZSBzZXJ2aWNlcyB0aW1lIHRvIGZ1bGx5IHN0YXJ0CisrICAgICAgICB0aW1l LnNsZWVwKDEwKQorKworKyAgICAgICAgIyBWZXJpZnkgcmVhbG0gbGlzdCBzaG93cyB1bnF1YWxp ZmllZCBsb2dpbiBmb3JtYXQKKysgICAgICAgIGxpc3RfcmVzdWx0ID0gY2xpZW50LnJlYWxtLmxp c3QoKQorKyAgICAgICAgYXNzZXJ0IGxpc3RfcmVzdWx0LnJjID09IDAsIGYicmVhbG0gbGlzdCBm YWlsZWQ6IHtsaXN0X3Jlc3VsdC5zdGRlcnJ9IgorKworKyAgICAgICAgIyBDaGVjayBmb3IgYnoj OTY3MDExIC0gbG9naW4tZm9ybWF0cyBzaG91bGQgYmUgJVUgKG5vdCAlVUAlRCkKKysgICAgICAg IGFzc2VydCByZS5zZWFyY2gociJsb2dpbi1mb3JtYXRzOlxzKiVVXHMqJCIsIGxpc3RfcmVzdWx0 LnN0ZG91dCwgcmUuTVVMVElMSU5FIHwgcmUuSUdOT1JFQ0FTRSksICgKKysgICAgICAgICAgICAi cmVhbG0gbGlzdCBzaG91bGQgc2hvdyAnbG9naW4tZm9ybWF0czogJVUnICh1bnF1YWxpZmllZCki CisrICAgICAgICApCisrCisrICAgICAgICAjIENyZWF0ZSBhIHRlc3QgdXNlciBvbiBBRAorKyAg ICAgICAgdXNlciA9IHByb3ZpZGVyLnVzZXIoInRlc3R1c2VyMiIpLmFkZCgpCisrCisrICAgICAg ICAjIFdhaXQgZm9yIHVzZXIgdG8gYmUgYXZhaWxhYmxlCisrICAgICAgICB0aW1lLnNsZWVwKDUp CisrCisrICAgICAgICAjIFF1ZXJ5IHVzZXIgV0lUSE9VVCBAZG9tYWluIHN1ZmZpeAorKyAgICAg ICAgZ2V0ZW50X3VzZXJfcmVzdWx0ID0gY2xpZW50LnRvb2xzLmdldGVudC5wYXNzd2QodXNlci5u YW1lKQorKyAgICAgICAgYXNzZXJ0IGdldGVudF91c2VyX3Jlc3VsdCBpcyBub3QgTm9uZSwgZiJn ZXRlbnQgcGFzc3dkIHdpdGggdW5xdWFsaWZpZWQgbmFtZSBmYWlsZWQgZm9yIHVzZXIgJ3t1c2Vy Lm5hbWV9JyIKKysgICAgICAgIGFzc2VydCBnZXRlbnRfdXNlcl9yZXN1bHQubmFtZSA9PSB1c2Vy Lm5hbWUsICgKKysgICAgICAgICAgICBmIlVzZXIgbmFtZSBtaXNtYXRjaDogZXhwZWN0ZWQgJ3t1 c2VyLm5hbWV9JywgZ290ICd7Z2V0ZW50X3VzZXJfcmVzdWx0Lm5hbWV9JyIKKysgICAgICAgICkK KysKKysgICAgICAgICMgUXVlcnkgZ3JvdXAgd2l0aG91dCBkb21haW4gcXVhbGlmaWNhdGlvbgor KyAgICAgICAgZ2V0ZW50X2dyb3VwX3Jlc3VsdCA9IGNsaWVudC50b29scy5nZXRlbnQuZ3JvdXAo ImRvbWFpbiB1c2VycyIpCisrICAgICAgICBhc3NlcnQgZ2V0ZW50X2dyb3VwX3Jlc3VsdCBpcyBu b3QgTm9uZSwgImdldGVudCBncm91cCB3aXRoIHVucXVhbGlmaWVkIG5hbWUgZmFpbGVkIGZvciAn ZG9tYWluIHVzZXJzJyIKKysKKysgICAgZmluYWxseToKKysgICAgICAgICMgQ2xlYW51cDogTGVh dmUgdGhlIGRvbWFpbiBpZiBqb2luZWQKKysgICAgICAgIGlmIGpvaW5lZDoKKysgICAgICAgICAg ICBjbGllbnQucmVhbG0ubGVhdmUoCisrICAgICAgICAgICAgICAgIGRvbWFpbj1kb21haW4sCisr ICAgICAgICAgICAgICAgIHVzZXI9cHJvdmlkZXIuaG9zdC5hZG1pbnVzZXIsCisrICAgICAgICAg ICAgICAgIHBhc3N3b3JkPXByb3ZpZGVyLmhvc3QuYWRtaW5wdywKKysgICAgICAgICAgICApCisr CisrCisrQHB5dGVzdC5tYXJrLmltcG9ydGFuY2UoImhpZ2giKQorK0BweXRlc3QubWFyay50b3Bv bG9neShLbm93blRvcG9sb2d5R3JvdXAuQW55QUQpCisrZGVmIHRlc3RfcmVhbG1fam9pbl9xdWFs aWZpZWRfbmFtZXNfb2ZmX3dpbmJpbmQoY2xpZW50OiBDbGllbnQsIHByb3ZpZGVyOiBHZW5lcmlj QURQcm92aWRlcik6CisrICAgICIiIgorKyAgICA6dGl0bGU6IHJlYWxtIGpvaW4gd2l0aCBxdWFs aWZpZWQtbmFtZXMgZGlzYWJsZWQgdXNpbmcgd2luYmluZAorKyAgICA6c2V0dXA6CisrICAgICAg ICAxLiBDbGllbnQgYW5kIEFEIGRvbWFpbiBhcmUgYXZhaWxhYmxlCisrICAgIDpzdGVwczoKKysg ICAgICAgIDEuIENvbmZpZ3VyZSAvZXRjL3JlYWxtZC5jb25mIHdpdGggZnVsbHktcXVhbGlmaWVk LW5hbWVzID0gbm8KKysgICAgICAgIDIuIFJlc3RhcnQgcmVhbG1kIHNlcnZpY2UgdG8gYXBwbHkg Y29uZmlndXJhdGlvbgorKyAgICAgICAgMy4gSm9pbiBkb21haW4gd2l0aCAtLWNsaWVudC1zb2Z0 d2FyZT13aW5iaW5kCisrICAgICAgICA0LiBWZXJpZnkgcmVhbG0gbGlzdCBzaG93cyBsb2dpbi1m b3JtYXRzOiAlVSAodW5xdWFsaWZpZWQpCisrICAgICAgICA1LiBDcmVhdGUgdGVzdCB1c2VyIG9u IEFECisrICAgICAgICA2LiBRdWVyeSB1c2VyIHdpdGhvdXQgQGRvbWFpbiBzdWZmaXggdXNpbmcg Z2V0ZW50CisrICAgICAgICA3LiBRdWVyeSBncm91cCB3aXRob3V0IGRvbWFpbiBxdWFsaWZpY2F0 aW9uCisrICAgIDpleHBlY3RlZHJlc3VsdHM6CisrICAgICAgICAxLiBDb25maWd1cmF0aW9uIGZp bGUgY3JlYXRlZCBzdWNjZXNzZnVsbHkKKysgICAgICAgIDIuIHJlYWxtZCBzZXJ2aWNlIHJlc3Rh cnRzIHN1Y2Nlc3NmdWxseQorKyAgICAgICAgMy4gRG9tYWluIGpvaW4gc3VjY2VlZHMgd2l0aCB3 aW5iaW5kCisrICAgICAgICA0LiByZWFsbSBsaXN0IHNob3dzIGxvZ2luLWZvcm1hdHM6ICVVIChu b3QgJVVAJUQpCisrICAgICAgICA1LiBUZXN0IHVzZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkKKysg ICAgICAgIDYuIFVzZXJzIGNhbiBiZSBxdWVyaWVkIHdpdGhvdXQgQGRvbWFpbiBzdWZmaXgKKysg ICAgICAgIDcuIEdyb3VwcyBjYW4gYmUgcXVlcmllZCB3aXRob3V0IGRvbWFpbiBxdWFsaWZpY2F0 aW9uCisrICAgIDpjdXN0b21lcnNjZW5hcmlvOiBGYWxzZQorKyAgICAiIiIKKysgICAgZG9tYWlu ID0gcHJvdmlkZXIuaG9zdC5kb21haW4KKysKKysgICAgIyBDb25maWd1cmUgL2V0Yy9yZWFsbWQu Y29uZiB0byBkaXNhYmxlIGZ1bGx5LXF1YWxpZmllZC1uYW1lcworKyAgICByZWFsbWRfY29uZiA9 IGYiIiJbe2RvbWFpbn1dCisrZnVsbHktcXVhbGlmaWVkLW5hbWVzID0gbm8KKysiIiIKKysgICAg Y2xpZW50LmZzLndyaXRlKCIvZXRjL3JlYWxtZC5jb25mIiwgcmVhbG1kX2NvbmYpCisrCisrICAg ICMgUmVzdGFydCByZWFsbWQgc2VydmljZSB0byBhcHBseSBjb25maWd1cmF0aW9uCisrICAgIGNs aWVudC5zdmMucmVzdGFydCgicmVhbG1kLnNlcnZpY2UiKQorKworKyAgICBqb2luZWQgPSBGYWxz ZQorKyAgICB0cnk6CisrICAgICAgICAjIEpvaW4gZG9tYWluIHdpdGggd2luYmluZAorKyAgICAg ICAgam9pbl9yZXN1bHQgPSBjbGllbnQucmVhbG0uam9pbigKKysgICAgICAgICAgICBkb21haW49 ZG9tYWluLAorKyAgICAgICAgICAgIHVzZXI9cHJvdmlkZXIuaG9zdC5hZG1pbnVzZXIsCisrICAg ICAgICAgICAgcGFzc3dvcmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAorKyAgICAgICAgICAgIGFy Z3M9WyItLWNsaWVudC1zb2Z0d2FyZT13aW5iaW5kIiwgIi0tdmVyYm9zZSJdLAorKyAgICAgICAg ICAgIGtyYj1GYWxzZSwKKysgICAgICAgICkKKysKKysgICAgICAgIGFzc2VydCBqb2luX3Jlc3Vs dC5yYyA9PSAwLCBmInJlYWxtIGpvaW4gZmFpbGVkOiB7am9pbl9yZXN1bHQuc3RkZXJyfSIKKysg ICAgICAgIGFzc2VydCAiU3VjY2Vzc2Z1bGx5IGVucm9sbGVkIG1hY2hpbmUgaW4gcmVhbG0iIGlu IGpvaW5fcmVzdWx0LnN0ZGVyciwgInJlYWxtIGpvaW4gc3VjY2VzcyBtZXNzYWdlIG5vdCBmb3Vu ZCIKKysgICAgICAgIGpvaW5lZCA9IFRydWUKKysKKysgICAgICAgICMgR2l2ZSB3aW5iaW5kIHRp bWUgdG8gZnVsbHkgc3RhcnQgKGl0J3Mgc2xvdykKKysgICAgICAgIHRpbWUuc2xlZXAoMzApCisr CisrICAgICAgICAjIFZlcmlmeSByZWFsbSBsaXN0IHNob3dzIHVucXVhbGlmaWVkIGxvZ2luIGZv cm1hdAorKyAgICAgICAgbGlzdF9yZXN1bHQgPSBjbGllbnQucmVhbG0ubGlzdCgpCisrICAgICAg ICBhc3NlcnQgbGlzdF9yZXN1bHQucmMgPT0gMCwgZiJyZWFsbSBsaXN0IGZhaWxlZDoge2xpc3Rf cmVzdWx0LnN0ZGVycn0iCisrCisrICAgICAgICAjIENoZWNrIGZvciBieiM5NjcwMTEgLSBsb2dp bi1mb3JtYXRzIHNob3VsZCBiZSAlVSAobm90ICVVQCVEKQorKyAgICAgICAgYXNzZXJ0IHJlLnNl YXJjaChyImxvZ2luLWZvcm1hdHM6XHMqJVVccyokIiwgbGlzdF9yZXN1bHQuc3Rkb3V0LCByZS5N VUxUSUxJTkUgfCByZS5JR05PUkVDQVNFKSwgKAorKyAgICAgICAgICAgICJyZWFsbSBsaXN0IHNo b3VsZCBzaG93ICdsb2dpbi1mb3JtYXRzOiAlVScgKHVucXVhbGlmaWVkKSIKKysgICAgICAgICkK KysKKysgICAgICAgICMgQ3JlYXRlIGEgdGVzdCB1c2VyIG9uIEFECisrICAgICAgICB1c2VyID0g cHJvdmlkZXIudXNlcigidGVzdHVzZXIzIikuYWRkKCkKKysKKysgICAgICAgICMgV2FpdCBmb3Ig dXNlciB0byBiZSBhdmFpbGFibGUKKysgICAgICAgIHRpbWUuc2xlZXAoNSkKKysKKysgICAgICAg ICMgUXVlcnkgdXNlciBXSVRIT1VUIEBkb21haW4gc3VmZml4CisrICAgICAgICBnZXRlbnRfdXNl cl9yZXN1bHQgPSBjbGllbnQudG9vbHMuZ2V0ZW50LnBhc3N3ZCh1c2VyLm5hbWUpCisrICAgICAg ICBhc3NlcnQgZ2V0ZW50X3VzZXJfcmVzdWx0IGlzIG5vdCBOb25lLCBmImdldGVudCBwYXNzd2Qg d2l0aCB1bnF1YWxpZmllZCBuYW1lIGZhaWxlZCBmb3IgdXNlciAne3VzZXIubmFtZX0nIgorKyAg ICAgICAgYXNzZXJ0IGdldGVudF91c2VyX3Jlc3VsdC5uYW1lID09IHVzZXIubmFtZSwgKAorKyAg ICAgICAgICAgIGYiVXNlciBuYW1lIG1pc21hdGNoOiBleHBlY3RlZCAne3VzZXIubmFtZX0nLCBn b3QgJ3tnZXRlbnRfdXNlcl9yZXN1bHQubmFtZX0nIgorKyAgICAgICAgKQorKworKyAgICAgICAg IyBRdWVyeSBncm91cCB3aXRob3V0IGRvbWFpbiBxdWFsaWZpY2F0aW9uCisrICAgICAgICBnZXRl bnRfZ3JvdXBfcmVzdWx0ID0gY2xpZW50LnRvb2xzLmdldGVudC5ncm91cCgiZG9tYWluIHVzZXJz IikKKysgICAgICAgIGFzc2VydCBnZXRlbnRfZ3JvdXBfcmVzdWx0IGlzIG5vdCBOb25lLCAiZ2V0 ZW50IGdyb3VwIHdpdGggdW5xdWFsaWZpZWQgbmFtZSBmYWlsZWQgZm9yICdkb21haW4gdXNlcnMn IgorKworKyAgICBmaW5hbGx5OgorKyAgICAgICAgIyBDbGVhbnVwOiBMZWF2ZSB0aGUgZG9tYWlu IGlmIGpvaW5lZAorKyAgICAgICAgaWYgam9pbmVkOgorKyAgICAgICAgICAgIGNsaWVudC5yZWFs bS5sZWF2ZSgKKysgICAgICAgICAgICAgICAgZG9tYWluPWRvbWFpbiwKKysgICAgICAgICAgICAg ICAgdXNlcj1wcm92aWRlci5ob3N0LmFkbWludXNlciwKKysgICAgICAgICAgICAgICAgcGFzc3dv cmQ9cHJvdmlkZXIuaG9zdC5hZG1pbnB3LAorKyAgICAgICAgICAgICkKK2RpZmYgLS1naXQgYS90 ZXN0cy90b3BvbG9neV9jb250cm9sbGVycy5weSBiL3Rlc3RzL3RvcG9sb2d5X2NvbnRyb2xsZXJz LnB5CitpbmRleCA0ZWM5NWE5Li40YzMyZThkIDEwMDY0NAorLS0tIGEvdGVzdHMvdG9wb2xvZ3lf Y29udHJvbGxlcnMucHkKKysrKyBiL3Rlc3RzL3RvcG9sb2d5X2NvbnRyb2xsZXJzLnB5CitAQCAt NzAsNyArNzAsNyBAQCBjbGFzcyBBRFRvcG9sb2d5Q29udHJvbGxlcihQcm92aXNpb25lZEJhY2t1 cFRvcG9sb2d5Q29udHJvbGxlcik6CisgICAgICAgICAjIGNsaWVudF9mcWRuID0gZiJ7Y2xpZW50 Lmhvc3RuYW1lLnNwbGl0KCcuJylbMF19Lntkb21haW59IgorICAgICAgICAgIyBjbGllbnQuY29u bi5leGVjKFsiaG9zdG5hbWVjdGwiLCAic2V0LWhvc3RuYW1lIiwgY2xpZW50X2ZxZG5dKQorIAor LSAgICAgICAgIyAyLiBXcml0ZSB0aGUgc3RyaWN0IEtlcmJlcm9zIGNvbmZpZ3VyYXRpb24gKHJl cGxhY2VzIHJlbW92aW5nIGl0KQorKyAgICAgICAgIyAyLiBXcml0ZSB0aGUgc3RyaWN0IEtlcmJl cm9zIGNvbmZpZ3VyYXRpb24gZmlyc3QgKG5lZWRlZCBmb3IgY2xlYW51cCBjb21tYW5kcykKKyAg ICAgICAgIGNsaWVudC5mcy53cml0ZSgKKyAgICAgICAgICAgICAiL2V0Yy9rcmI1LmNvbmYiLAor ICAgICAgICAgICAgIGYiIiJbbGliZGVmYXVsdHNdCitAQCAtOTEsNyArOTEsMjQgQEAgY2xhc3Mg QURUb3BvbG9neUNvbnRyb2xsZXIoUHJvdmlzaW9uZWRCYWNrdXBUb3BvbG9neUNvbnRyb2xsZXIp OgorICIiIiwKKyAgICAgICAgICkKKyAKKy0gICAgICAgICMgMy4gUmVtb3ZlIGFueSBleGlzdGlu ZyBrZXl0YWIKKysgICAgICAgICMgMy4gQ2xlYW4gdXAgYW55IGV4aXN0aW5nIGRvbWFpbiBtZW1i ZXJzaGlwcyBhbmQgY29tcHV0ZXIgYWNjb3VudHMKKysgICAgICAgICMgTGVhdmUgcmVhbG0gd2l0 aCAtLXJlbW92ZSB0byBkZWxldGUgY29tcHV0ZXIgYWNjb3VudCBmcm9tIEFEL1NhbWJhCisrICAg ICAgICBjbGllbnQuY29ubi5ydW4oCisrICAgICAgICAgICAgZiJyZWFsbSBsZWF2ZSAtLXJlbW92 ZSAtVSB7cHJvdmlkZXIuYWRtaW51c2VyfUB7cmVhbG19IHtkb21haW59IiwKKysgICAgICAgICAg ICBpbnB1dD1wcm92aWRlci5hZG1pbnB3LAorKyAgICAgICAgICAgIHJhaXNlX29uX2Vycm9yPUZh bHNlLAorKyAgICAgICAgKQorKworKyAgICAgICAgIyA0LiBDbGVhbiB1cCBhbnkgb3JwaGFuZWQg Y29tcHV0ZXIgYWNjb3VudHMgKGJhY2t1cCBpbiBjYXNlIHJlYWxtIGxlYXZlIGZhaWxlZCkKKysg ICAgICAgIHNob3J0X2hvc3RuYW1lID0gY2xpZW50Lmhvc3RuYW1lLnNwbGl0KCIuIilbMF0KKysg ICAgICAgIGNsaWVudC5jb25uLnJ1bigKKysgICAgICAgICAgICBmImFkY2xpIGRlbGV0ZS1jb21w dXRlciAne3Nob3J0X2hvc3RuYW1lfScgLS1kb21haW49e2RvbWFpbn0gIgorKyAgICAgICAgICAg IGYiLS1sb2dpbi11c2VyPXtwcm92aWRlci5hZG1pbnVzZXJ9IC0tc3RkaW4tcGFzc3dvcmQiLAor KyAgICAgICAgICAgIGlucHV0PXByb3ZpZGVyLmFkbWlucHcsCisrICAgICAgICAgICAgcmFpc2Vf b25fZXJyb3I9RmFsc2UsCisrICAgICAgICApCisrCisrICAgICAgICAjIDUuIFJlbW92ZSBhbnkg ZXhpc3Rpbmcga2V5dGFiCisgICAgICAgICBjbGllbnQuZnMucm0oIi9ldGMva3JiNS5rZXl0YWIi KQorIAorICAgICAgICAgIyBCYWNrdXAgc28gd2UgY2FuIHJlc3RvcmUgdG8gdGhpcyBzdGF0ZSBh ZnRlciBlYWNoIHRlc3QKKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS9yZWFsbWQuc3BlYyBi L3JlYWxtZC5zcGVjCmluZGV4IDMxMjk3YjMuLjhjNWJhNzcgMTAwNjQ0Ci0tLSBhL3JlYWxtZC5z cGVjCisrKyBiL3JlYWxtZC5zcGVjCkBAIC0xLDYgKzEsNiBAQAogTmFtZTogICAgcmVhbG1kCiBW ZXJzaW9uOiAwLjE3LjEKLVJlbGVhc2U6IDE5JXs/ZGlzdH0KK1JlbGVhc2U6IDIwJXs/ZGlzdH0K IFN1bW1hcnk6IEtlcmJlcm9zIHJlYWxtIGVucm9sbG1lbnQgc2VydmljZQogTGljZW5zZTogTEdQ TC0yLjEtb3ItbGF0ZXIKIFVSTDogICAgIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9y ZWFsbWQvcmVhbG1kCkBAIC0yMyw2ICsyMywyNiBAQCBQYXRjaDAwMTQ6IDAwMDEtSW5pdGlhbC1p bXBsZW1lbnRhdGlvbi1vZi1hLXJlbmV3LXJlcXVlc3QucGF0Y2gKIFBhdGNoMDAxNTogMDAwMi1y ZW5ldy1pbXBsZW1lbnQtc3VwcG9ydC1mb3ItYWRjbGkucGF0Y2gKIFBhdGNoMDAxNjogMDAwMy1z ZXJ2aWNlLXVzZS1wcm9wZXItbWFjcm8tZm9yLW9zLW5hbWUtYW5kLW9zLXZlcnNpb24ucGF0Y2gK IFBhdGNoMDAxNzogMDAwNC1yZW5ldy1maXgtaXNzdWVzLWZvdW5kLWJ5LUNvdmVyaXR5LnBhdGNo CitQYXRjaDAwMTg6IDAwMDEtVGVzdHMtaW5pdGlhbC1mcmFtZXdvcmstYW5kLXRlc3RzLWZvci1y ZWFsbS5wYXRjaAorUGF0Y2gwMDE5OiAwMDAyLXNlcnZpY2UtZG8tbm90LXNldC1jb25maWdfZmls ZV92ZXJzaW9uLWluLXNzc2QuY29uZi5wYXRjaAorUGF0Y2gwMDIwOiAwMDAzLXRvb2xzLWZpeC1o ZWxwLW1lc3NhZ2UtZm9yLXJlYWxtLWRlbnkucGF0Y2gKK1BhdGNoMDAyMTogMDAwNC1kaXNjby1j aGVjay1JUEEtc3BlY2lmaWMtZXh0ZW5zaW9uLWluLXJvb3REU0UucGF0Y2gKK1BhdGNoMDAyMjog MDAwNS10b29scy1hZGQtbWVzc2FnZS1hZnRlci1zdWNjZXNzZnVsLWpvaW4ucGF0Y2gKK1BhdGNo MDAyMzogMDAwNi1kb2MtYWRkLXJlbmV3LW9wdGlvbi1vZi1yZWFsbS1tYW4tcGFnZS5wYXRjaAor UGF0Y2gwMDI0OiAwMDA3LVRlc3RjYXNlcy1BZGRpbmctbXVsdGlwbGUtdGVzdGNhc2VzLnBhdGNo CitQYXRjaDAwMjU6IDAwMDgtZG9jLUJlLWV4cGxpY2l0LWFib3V0LWRlZmF1bHQtc2V0dGluZ3Mt aW4tcmVhbG1kLmNvbi5wYXRjaAorUGF0Y2gwMDI2OiAwMDA5LWRvYy1kb2N1bWVudC1kZWJ1Zy1v cHRpb24taW4tc2VydmljZS1zZWN0aW9uLW9mLXJlYWwucGF0Y2gKK1BhdGNoMDAyNzogMDAxMC1z YW1iYS1hZGQtZGVidWctbGV2ZWwtMTAtdG8tbmV0LWNvbW1hbmRzLXdoZW4tcmVhbG1kLnBhdGNo CitQYXRjaDAwMjg6IDAwMTEtV2hlbi1ydW5uaW5nLWluLWRlYnVnLW1ha2Utd2FybmluZ3Mtbm90 LWZhdGFsLnBhdGNoCitQYXRjaDAwMjk6IDAwMTItc2VydmljZS1vbmx5LXVzZS1zaW5nbGUtdmFs dWUtcGFzc3dvcmQtc2VydmVyLW9wdGlvbi5wYXRjaAorUGF0Y2gwMDMwOiAwMDEzLVJlZnJlc2gt bGljZW5zZS10ZXh0LnBhdGNoCitQYXRjaDAwMzE6IDAwMTQtVGVzdGNhc2VzLXJlYWxtLWpvaW4t bGVhdmUtdXNlci1sb2dpbi5wYXRjaAorUGF0Y2gwMDMyOiAwMDE1LVRlc3RjYXNlcy1yZWFsbS1y ZW5ldy5wYXRjaAorUGF0Y2gwMDMzOiAwMDE2LVRlc3RjYXNlcy1yZWFsbS1yZW5ldy1hbmQtcHJl am9pbi10ZXN0Y2FzZXMucGF0Y2gKK1BhdGNoMDAzNDogMDAxNy1GaXgtZ2Jvb2xlYW4tdHlwby11 c2UtRkFMU0UtVFJVRS1mb3ItZmFsc2UtdHJ1ZS5wYXRjaAorUGF0Y2gwMDM1OiAwMDE4LXRlc3Rz LUFkZC1kZWxlZ2F0ZWQtdXNlci1qb2luLWxlYXZlLXRlc3QucGF0Y2gKK1BhdGNoMDAzNjogMDAx OS1BZGQtR2l0TGFiLUNJLUNELXBpcGVsaW5lLWNvbmZpZ3VyYXRpb24ucGF0Y2gKK1BhdGNoMDAz NzogMDAyMC1UZXN0cy1yZWFsbWQtdGVzdGNhc2Utc2V0LTgucGF0Y2gKIAogQnVpbGRSZXF1aXJl czogbWFrZQogQnVpbGRSZXF1aXJlczogZ2NjCkBAIC0xMDksNiArMTI5LDkgQEAgbWFrZSBjaGVj awogJWRvYyBDaGFuZ2VMb2cKIAogJWNoYW5nZWxvZworKiBUaHUgSnVuIDI1IDIwMjYgU3VtaXQg Qm9zZSA8c2Jvc2VAcmVkaGF0LmNvbT4gLSAwLjE3LjEtMjAKKy0gc3luYyB3aXRoIGxhdGVzdCB1 cHN0cmVhbSBwYXRjaGVzCisKICogU2F0IEphbiAxNyAyMDI2IEZlZG9yYSBSZWxlYXNlIEVuZ2lu ZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xNy4xLTE5CiAtIFJlYnVpbHQg Zm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDRfTWFzc19SZWJ1aWxk CiAK